如何获取google maps api v3 javascript中的地图的纬度,经度onclick?

时间:2011-12-18 06:39:34

标签: javascript google-maps google-maps-api-3

如何在谷歌地图api v3中点击地图上的纬度,经度。 我用谷歌地图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);

         }
        });

2 个答案:

答案 0 :(得分:62)

你必须使用事件参数。

google.maps.event.addListener(map, 'click', function(event) {

    marker = new google.maps.Marker({position: event.latLng, map: map});

});

答案 1 :(得分:4)

你必须使用它。

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