web-dev-qa-db-ja.com

Google Maps API v3 javascriptで地図の緯度、経度onclickを取得する方法は?

google Maps API v3で地図をクリックすると緯度、経度を知る方法。私はこのコードでGoogleマップAPI v2でこれを行いました

 GEvent.addListener(map, "click", function(overlay, latlng) {
          if (latlng) {
            marker = new GMarker(latlng, {draggable:true});
            GEvent.addListener(marker, "click", function() {
                //alert("hello");
              var html = "<table>" +
                         "<tr><td>Name:</td> <td><input type='text' id='name'/> </td> </tr>" +
                         "<tr><td>Time:</td> <td><input type='text' id='time'/> </td> </tr>" +
                         "<tr><td>Bus Id:</td> <td><input type='text' id='busId'/> </td> </tr>" +
                         "<tr><td>Device Id:</td> <td><input type='text' id='deviceId'/> </td> </tr>" +
                         "<tr><td></td><td><input type='button' value='Save & Close' onclick='saveData()'/></td></tr>";
              marker.openInfoWindow(html);
            });
            map.addOverlay(marker);
          }
        });

v3でこれと同じことをする方法は?

これを試しましたが、うまくいきませんでした。

google.maps.event.addListener(map, "click", function(overlay,latlng) {
        if (latlng) {
        marker = new google.maps.Marker(latlng);
           google.maps.event.addListener(marker, "click", function() {
              var html = "<table>" +
                         "<tr><td>Name:</td> <td><input type='text' id='name'/> </td> </tr>" +
                         "<tr><td>Time:</td> <td><input type='text' id='time'/> </td> </tr>" +
                         "<tr><td>Bus Id:</td> <td><input type='text' id='busId'/> </td> </tr>" +
                         "<tr><td>Device Id:</td> <td><input type='text' id='deviceId'/> </td> </tr>" +
                         "<tr><td></td><td><input type='button' value='Save & Close' onclick='saveData()'/></td></tr>";
              marker.openInfoWindow(html);
            });
            map.setMap(marker);

         }
        });
24
Ramesh Kotha

イベント引数を使用する必要があります。

 google.maps.event.addListener(map、 'click'、function(event){
 
 marker = new google.maps.Marker({position:event.latLng、 map:map}); 
 
}); 
63
Diode

これを使用する必要があります。

 google.maps.event.addListener(map, 'click', function(event) {
    alert("Latitude: " + event.latLng.lat() + " " + ", longitude: " + event.latLng.lng());
  });
4
Ashish Gupta