有没有办法获得谷歌地图上的所有标记?
6 回答
如果您的意思是“我如何才能获得给定地图上所有标记的参考”-那么我认为答案是“对不起,您必须自己做”。我认为没有任何方便的“maps.getMarkers()”类型函数:您必须在创建点时保留自己的引用:
var allMarkers = [];
....
// Create some markers
for(var i = 0; i < 10; i++) {
var marker = new google.maps.Marker({...});
allMarkers.push(marker);
}
...
然后你可以遍历allMarkers
数组并做任何你需要做的事情。
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.
我假设您希望在谷歌地图上显示多个标记。
解决方案分为两部分,一是创建和填充包含标记的所有详细信息的数组,然后是循环遍历数组中的所有条目以创建每个标记。
不知道你使用的是什么环境,提供具体帮助有点困难。
我最好的建议是看看这篇文章和接受的答案,以了解创建具有多个标记的地图的原则:在地图上 显示多个标记并使用它们自己的信息窗口
如果您使用的是 JQuery Google 地图插件,那么下面的代码将为您工作 -
var markers = $('#map_canvas').gmap('get','markers');
对于特定的集群使用: getMarkers() 获取集群器中的标记数组。
对于地图中的所有标记,请使用: getTotalMarkers() 获取群集器中的标记数组。
谷歌地图 API v3:
我初始化了谷歌地图并添加了标记。后来,我想检索所有标记,只需访问地图属性“标记”即可。
var map = new GMaps({
div: '#map',
lat: 40.730610,
lng: -73.935242,
});
var myMarkers = map.markers;
您可以遍历它并访问Google Maps Reference中列出的所有 Marker 方法。