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

时间:2010-04-05 07:51:59

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

有没有办法在Google地图上获取所有标记?

6 个答案:

答案 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()获取聚类器中的标记数组。