有没有办法在Google地图上获取所有标记?
答案 0 :(得分:75)
如果您的意思是“我如何获得对给定地图上所有标记的引用” - 那么我认为答案是“抱歉,您必须自己动手”。我认为没有任何方便的“maps.getMarkers()”类型函数:你必须在创建点时保留自己的引用:
var allMarkers = [];
....
// Create some markers
for(var i = 0; i < 10; i++) {
var marker = new google.maps.Marker({...});
allMarkers.push(marker);
}
...
然后你可以遍历allMarkers
数组并做你需要做的任何事情。
答案 1 :(得分:1)
找到的唯一方法是使用适合使用的geoXML3库以及Google Maps JavaScript API的KML处理器第3版。
答案 2 :(得分:0)
我假设你有多个标记要在谷歌地图上显示。
解决方案分为两部分,一部分用于创建和填充包含标记所有细节的数组,然后第二部分循环遍历数组中的所有条目以创建每个标记。
不知道您正在使用什么环境,提供特定帮助有点困难。
我最好的建议是看一下这篇文章&amp;接受答案,了解创建具有多个标记的地图的原则: Display multiple markers on a map with their own info windows
答案 3 :(得分:-2)
如果您使用的是JQuery Google地图插件,那么下面的代码将适合您 -
var markers = $('#map_canvas').gmap('get','markers');
答案 4 :(得分:-2)
Google Maps API v3:
我初始化了Google地图并添加了标记。后来,我想检索所有标记,只需访问map属性“markers”即可。
var map = new GMaps({
div: '#map',
lat: 40.730610,
lng: -73.935242,
});
var myMarkers = map.markers;
您可以循环访问它并访问Google Maps Reference中列出的所有标记方法。
答案 5 :(得分:-3)
对于特定的群集使用: getMarkers()获取聚类器中的标记数组。
对于地图中的所有标记,请使用: getTotalMarkers()获取聚类器中的标记数组。