javascript - 使用 jQuery 插件的 Google Maps API : How to get a marker's latitude and longitude on click?

标签 javascript google-maps jquery-plugins

我正在使用 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'] 获取标记对象。该标记具有一些属性,包括 titlevisibleiconidposition.

我们关心position,它有两个属性,wayawa 好像是纬度,ya 好像是经度。例如,$('#map').data()['MARKER_ID'].position.wa 将为您提供纬度。似乎有些标记具有 latitudelongitude 属性,不确定为什么不总是存在(至少从我的简短测试来看),但您可以尝试 $( '#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/

相关文章:

javascript - 如何从带有 2 个按钮的表单单击按钮发送 Ajax 请求?

iphone - 在iOS 6中是绝对不能使用Google map 的吗?

android - 在自动完成中输入纬度/经度

jquery - 当值通过另一个脚本更改时,.change 不起作用

jquery - 如何将数据动态分配给jqGrid?

javascript - Express.js - 请求者域/IP 可靠性

javascript - 如何使一些同步代码在其他异步代码之前运行?

javascript - 如何在Javascript中将对象数组的对象转换为对象数组

javascript - meteor 的谷歌地图

javascript - JQuery 同位素未触发