2011-07-05 15 views
0

私はGoogle Maps V3 APIを使用しており、ジオコーダーを使用して、ユーザーがクリックした地図上の地点を逆ジオコーディングしています。Google Maps Geocoderで結果が得られません

DOMが

$(function() { 
reverse_geocode(40.714224,-73.961452); 

}完全にロードされたときにジオコーディング機能をロード)を逆ジオコーディングを行い

機能:ページ最初の負荷は、すべてが正常に動作してalert()が呼び出されたときに、私はreverse_geocode関数を呼び出す場合

function reverse_geocode(lat,lng) { 

    var geocoder = new google.maps.Geocoder(); 
    var latlng = new google.maps.LatLng(10,-10); 
    geocoder.geocode({'latLng': latlng}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
      alert('asdasd'); 
     } else { 
      alert("Geocoder failed due to: " + status); 
     } 
    }); 

}

reverse_geocode()ただし、私がreverse_geocode()を呼び出すと、マップ上の右クリックとそれに続くdivのマウスクリックによってトリガされた場合に限り、以下のコードを使用しても何も起こりません!どのようなアイデアが間違っていた?

+0

イベントハンドラが多すぎます。あなたのinfo_ok_handlerclick()。さらに別のハンドラをアタッチするので、逆ジオコード関数を呼び出す前に3回クリックする必要があります。理論的には、2つのイベントリスナーが必要です.1つは右クリック(メニューを表示する関数)、#info_okハンドラーはジオコーディングです。 info_okハンドラを関数にラップする必要はありませんが、単にdocument.ready jqueryブロックに置くだけです... – Michal

答えて

0

キーワードを使用して場所を検索できます。

 <?php 
     include_once("include/GoogleMap.php"); 
     include_once("include/JSMin.php"); 
     $mapcity="India"; 
     $mapdesc="description about this map"; 
     $MAP_OBJECT = new GoogleMapAPI(); 
     $MAP_OBJECT->_minify_js = isset($_REQUEST["min"])?FALSE:TRUE; 

     $MAP_OBJECT->addMarkerByAddress($mapcity,"Map name", $mapdesc); 
     $MAP_OBJECT->enableStreetViewControls(); 
     ?> 
     <html> 
     <head> 
     <?=$MAP_OBJECT->getHeaderJS();?> 
     <?=$MAP_OBJECT->getMapJS();?> 
     </head> 
     <body> 
     <?=$MAP_OBJECT->printOnLoad();?> 
     <?=$MAP_OBJECT->setMapType(ROADMAP);?> 
     <?=$MAP_OBJECT->printMap();?> 
     <?=$MAP_OBJECT->printSidebar();?> 
     </body> 
     </html> 
関連する問題