我正在使用 Google Maps API V3 的插件。我用它在 map 上放置一个标记,并允许用户将标记拖到 map 上的某个位置。我想在点击时获取标记的经纬度。
goMap 插件页面: http://www.pittss.lv/jquery/gomap/index.php
首先设置标记的函数。
$("#map").goMap({
zoom: 16,
maptype: 'ROADMAP',
navigationControl: false,
mapTypeControl: false,
scrollwheel: true,
disableDoubleClickZoom: false,
markers: [{
draggable:true,
latitude: data.lat,
longitude: data.lng,
icon:'./images/pink.png'
}]
});
我尝试在 goMap() 上调用 native getLat() 方法,但我认为我做的不对。非常感谢任何帮助。
最佳答案
经过一些调查,它看起来像是使用 jQuery 的 data()
函数将数据绑定(bind)到 map 。您可以通过 $('#map').data()
获取数据,其中包含有关标记的信息。
每个标记都有一个id,可以通过数组$.goMap.markers
获取标记的id。请注意,$.goMap.markers
仅包含作为 ID 的字符串,而不包含标记本身。
您需要使用该数组找到您想要的 ID(或者您可能提前知道它),然后调用 $('#map').data()['MARKER_ID']
获取标记对象。该标记具有一些属性,包括 title
、visible
、icon
、id
和 position
.
我们关心position
,它有两个属性,wa
和ya
。 wa
好像是纬度,ya
好像是经度。例如,$('#map').data()['MARKER_ID'].position.wa
将为您提供纬度。似乎有些标记具有 latitude
和 longitude
属性,不确定为什么不总是存在(至少从我的简短测试来看),但您可以尝试 $( '#map').data()['MARKER_ID'].latitude
代替。
希望这对您有所帮助。
关于javascript - 使用 jQuery 插件的 Google Maps API : How to get a marker's latitude and longitude on click?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4512369/