我有一个使用V2的旧gmaps应用程序,我正在尝试将其更新为v3。
我有一个非常简单的问题,但我找不到解决方案。
如何从“event.latLng”中删除纬度和经度?
它返回point()
,但我只需要单独的纬度和自己的长度。
我无法让它发挥作用。
答案 0 :(得分:52)
根据the API for MouseEvents
,event.latLng
包含LatLng
,而不是Point
。如果是这种情况,那么您可以使用lat()
和lng()
方法分别获取值。如果event.latLng
实际上是Point
,那么您可以使用x
和y
属性(非方法)直接访问坐标。
什么类型的监听器正在创建事件?
修改:example in the tutorial如何做你想做的事。看起来你已经跟着这个了。您是否记得包含实际的placeMarker()
函数声明?
function placeMarker(location) {
var clickedLocation = new google.maps.LatLng(location);
var marker = new google.maps.Marker({
position: location,
map: map
});
map.setCenter(location);
}
或者您对放置标记不感兴趣,只想获得lat和lng值?在这种情况下,您只需要:
google.maps.event.addListener(map, 'click', function(event) {
var myLatLng = event.latLng;
var lat = myLatLng.lat();
var lng = myLatLng.lng();
})