ただ単純に貼付けるだけなら、とっても簡単で、便利なgoogle mapだけど、深いところまで追求すると、結構ややこしい。

とりあえず、解っている事をメモ。

クリックされた地点の緯度経度を抽出する方法。

var map = new google.maps.Map2($(“#map”)[0]);
var center = new google.maps.LatLng(35.70023955865944 , 139.7623559832573;);
map.setCenter(center,15);

GEvent.addListener(map,”click”,function(lay,latlng){
alert(latlng);
})

とりあえず、赤文字のところで、地図を表示。ここまでは良いとして、若干考え方が難しそうなのが、青文字で書かれた部分。

「click」は、クリックされる場所によって、返す値が違うらしい。具体的には、クリック可能なオーバーレイの上をクリックしたか、単純に地図の上をクリックしたかで、返す値が違うっぽい。

今回は、純粋に地図の上をクリックした場合。

〜〜”click”,function(lay , latlng){処理}

関数の第一引数には、必ずNullが入り、第二引数に、緯度経度の情報が入るっぽい。つまり、この場合、「lay」にはNullが、latlngには、緯度経度の情報が入る。

……うーん。前から解らないのが、このあたり。なんだか勝手にfunctionの引数を入れてるみたいな感じ?GEvent.addListenerに入れている、「map」を「click」したら返ってくる値を、「function」の引数に入れる。そんな感じか?ついでに、クリックされる位置(オーバーレイの上とか)によって、返す値が若干違う。

………うーん。うーん。

まあ、とにかく使っていくうちに覚えて行くでしょう(笑)

忘れがちになるであろう事は、緯度経度の値は、第二引数で返ってくるってこと。いつもと同じ感覚で、第一引数しか入れずに出力してしまうと、Nullが返ってくる。気をつけよう。