【问题标题】:how to get all markers on google-maps-v3如何获取 google-maps-v3 上的所有标记
【发布时间】:2011-02-04 08:47:15
【问题描述】:

有没有办法获得谷歌地图上的所有标记?

【问题讨论】:

  • 您能否详细说明您要做什么。另外,如果您有任何代码,请将其发布,以便我们可以帮助您提出解决方案,而不仅仅是给您代码。
  • @zjm1126...也许您可以在未来三年内的某个时间在评论中回答沃尔廷的问题?并让我们知道发布的答案中是否有最佳答案。如果没有..请证明自己的答案..我假设在获得 14k 代表后,您现在可以回答自己的问题;-P

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


【解决方案1】:

如果您的意思是“我怎样才能获得给定地图上所有标记的参考”-那么我认为答案是“对不起,您必须自己做”。我认为没有任何方便的“maps.getMarkers()”类型函数:您必须在创建点时保留自己的引用:

var allMarkers = [];
....
// Create some markers
for(var i = 0; i < 10; i++) {
    var marker = new google.maps.Marker({...});
    allMarkers.push(marker);
}
...

然后你可以遍历allMarkers 数组并做任何你需要做的事情。

【讨论】:

  • 只是想验证这是否仍然适用于今天,或者是否支持现在从地图中检索标记?
  • 仍然相关,似乎没有其他办法,除非您将标记存储在自己定义的特定数组中
  • 工作得非常好——需要删除现有的标记并操作新创建的数组就可以了。谢谢。
【解决方案2】:

找到的一种方法是使用geoXML3 库,该库适合与 Google Maps JavaScript API 的 KML 处理器版本 3 一起使用。

【讨论】:

    【解决方案3】:

    我假设您希望在谷歌地图上显示多个标记。

    解决方案分为两部分,一是创建和填充包含标记的所有详细信息的数组,然后是循环遍历数组中的所有条目以创建每个标记。

    不知道你用的是什么环境,具体的帮助有点难。

    我最好的建议是查看这篇文章和接受的答案,以了解创建具有多个标记的地图的原则: Display multiple markers on a map with their own info windows

    【讨论】:

      【解决方案4】:

      如果您使用的是 JQuery Google 地图插件,那么下面的代码将为您工作 -

      var markers = $('#map_canvas').gmap('get','markers');

      【讨论】:

      • $(...).gmap 不是函数
      【解决方案5】:

      对于特定的集群使用: getMarkers() 获取聚类器中的标记数组。

      对于地图中的所有标记,请使用: getTotalMarkers() 获取聚类器中的标记数组。

      【讨论】:

        【解决方案6】:

        谷歌地图 API v3:

        我初始化了谷歌地图并添加了标记。后来,我想检索所有标记,只需访问地图属性“标记”即可。

        var map = new GMaps({
            div: '#map',
            lat: 40.730610,
            lng: -73.935242,
        });
        
        var myMarkers = map.markers;
        

        您可以遍历它并访问Google Maps Reference 中列出的所有标记方法。

        【讨论】:

          猜你喜欢
          • 2015-08-01
          • 1970-01-01
          • 2010-12-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-07-25
          • 2011-09-02
          • 1970-01-01
          相关资源
          最近更新 更多