69

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

4

6 回答 6

87

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

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

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

于 2011-07-12T10:08:24.763 回答
1

The one way found is to use the geoXML3 library which is suitable for usage along with KML processor Version 3 of the Google Maps JavaScript API.

于 2011-05-25T00:22:59.710 回答
0

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

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

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

我最好的建议是看看这篇文章和接受的答案,以了解创建具有多个标记的地图的原则:在地图上 显示多个标记并使用它们自己的信息窗口

于 2010-05-25T16:34:15.127 回答
-2

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

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

于 2013-06-03T10:58:10.727 回答
-3

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

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

于 2016-11-04T22:09:43.820 回答
-4

谷歌地图 API v3:

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

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

var myMarkers = map.markers;

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

于 2018-02-04T21:51:57.270 回答