• 締切済み

GoogleMapAPI - デフォルト表示したマーカーから緯度経度を取得できない

最近googleMapを利用しデータベースと連携して コミュニケーションツールを作れないかとあれこれ 本やネットで調べた知識でがんばっているのですが、 行き詰まってしまったのでどなたかお知恵をお貸し下さい。 ◇前提 ・googleMapのページアクセス時に  DBに登録済みのマーカー情報(緯度・経度・場所名称)を基に  複数のマーカーを表示する  ※DBとのデータ中継はPHPを使用。ここでは省略。 ◇問題点 ・表示された複数のマーカーのうちどれかをクリックしたとき  そのマーカーに付随するデータをフォーム上に表示したいが、  DBへの問い合わせに必要なクリックしたマーカーの緯度経度が  取得できない。 以下抜粋 ------------------------------------------------- // 登録済みマーカーをデフォルト表示 GDownloadUrl("load.php", function(doc, stat){ var load = doc.parseJSON(); for(var i=0; i<load.data.length; i++){ var point = new GLatLng(load.data[i].lat, load.data[i].lng); var marker = new GMarker(point); map.addOverlay(marker); // クリックしたマーカーに該当する情報を表示 GEvent.addListener(marker, "click", function(){ //*** ここで緯度経度を取得 **** } } }); ------------------------------------------------- http://oshiete1.goo.ne.jp/qa2559818.html 上記ページの質問に対する回答の方法も試しましたが、 エラーが出てしまい解決できませんでした。 プログラム素人な上、不慣れな分野にて行き詰まってます。 どうかお助け下さい。

みんなの回答

  • ririli
  • ベストアンサー率32% (15/46)
回答No.1

こんにちは marker.getPoint() とすればマーカーのさしてる緯度経度を取得できるはずですがどうでしょうか? あと、「ここで緯度経度を取得」の部分で、どのように試してみてだめだったか なども書いておいたほうが回答がつきやすいと思います。

mapple55
質問者

お礼

回答ありがとうございます。 すいません説明不足でした。 GEvent.addListener(marker, "click", function(){   var p = marker.getPoint(); とすると緯度経度は取得できるのですが、 ページ読み込み時のループ処理の関係で 最後のマーカーの位置情報しか掴めませんでした。 かといってforの外側では結局正常な値が取れません。 今回急いでいた為、他の場所でも質問をしていたところ 以下のような例を頂き、無事解決できました。 ----------------------------------- GDownloadUrl("load.php", function(doc, stat){   var load = doc.parseJSON();   for(var i=0; i<load.data.length; i++){     var marker = makeMarker(load.data[i].lat, load.data[i].lng);     map.addOverlay(marker);   } }); function makeMarker(lat, lng){   var point = new GLatLng(lat,lng);   var marker = new GMarker(point); // クリックしたマーカーの情報を表示   GEvent.addListener(marker, "click", function(){     var p = marker.getPoint();     GDownloadUrl( ***[p.lat]と[p.lng]で問い合わせ*** )     <-----省略-----> ----------------------------------- これである程度進められると思いますが、 まだ完成までに解決しなければならない問題はいくつもあります。 なるべく自分の力で調べてはみますが、 またこちらに質問させて頂くことになるかもしれませんので その時はご指摘頂いたことに気をつけたいと思います。 アドバイスありがとうございました。

関連するQ&A