如何获取 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
0158 JavaScript获取元素:id,标签名,类名,querySelector,querySelectorAll,获取bodyhtml
你只认识大众汽车的车标怎么能行?赶紧用python采集所有车标学习一下