如何获取 google-maps-v3 上的所有标记

Posted

技术标签:

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

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

【问题讨论】:

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

【讨论】:

以上是关于如何获取 google-maps-v3 上的所有标记的主要内容,如果未能解决你的问题,请参考以下文章

如何在 didExitRegion 中获取信标主要和次要 id

如何以列标题为键获取json格式的handson表数据

0158 JavaScript获取元素:id,标签名,类名,querySelector,querySelectorAll,获取bodyhtml

你只认识大众汽车的车标怎么能行?赶紧用python采集所有车标学习一下

你只认识大众汽车的车标怎么能行?赶紧用python采集所有车标学习一下

如何在多个条件上加入,返回两个条件的所有组合