【问题标题】:Google Maps API using jQuery Plugin: How to get a marker's latitude and longitude on click?使用 jQuery 插件的 Google Maps API:如何在点击时获取标记的纬度和经度?
【发布时间】:2010-12-22 18:27:08
【问题描述】:

我正在使用 Google Maps API V3 的插件。我用它在地图上放置一个标记,并允许用户将标记拖到地图上的某个位置。我想在点击时获取标记的 lat,lng。

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() 上调用本机 getLat() 方法,但我认为我做的不对。非常感谢任何帮助。

【问题讨论】:

  • 我在寻找像 goMap 这样的插件,这个问题为我指明了正确的方向。谢谢。

标签: javascript google-maps jquery-plugins


【解决方案1】:

经过一番调查,它看起来像是使用 jQuery 的data() 函数将数据绑定到地图。您可以通过$('#map').data() 获取数据,其中包含有关标记的信息。

每个marker都有一个id,可以通过数组$.goMap.markers获取marker的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

希望这会有所帮助。

【讨论】:

  • 哈哈没问题,很高兴能帮上忙。
【解决方案2】:

我不知道为什么,但是道具名称会随着时间而变化......似乎最好的解决方案是获取关键名称并使用来了解 lat & lng。

因此,例如,如果您想在拖动后获取坐标,您将使用:

$.goMap.createListener({type:'marker', marker:'MARKER_ID'}, 'dragend', function() {

    var i_prop = 2;
    var map_data_marker = $('#map').data()['MARKER_ID'].position;
    var map_data_marker_keys = [];

    for (var key in map_data_marker)
    {
        if (i_prop--)
        {
            if (map_data_marker.hasOwnProperty(key))
            {
                map_data_marker_keys.push(key);
            }
        }
        else
        {
            break;
        }
    }

    var lat_lng = map_data_marker[map_data_marker_keys[0]] + ', ' + map_data_marker[map_data_marker_keys[1]];

}); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    • 2016-04-07
    • 2012-01-25
    相关资源
    最近更新 更多