Google Maps Api v3 - 如何删除群集图标?

use*_*003 21 google-maps-api-3 google-maps-markers markerclusterer

如何从地图中删除所有群集图标(群集标记)?尝试过如下建议:

Google Maps API v3:如何删除所有标记?

......但它没有奏效.

你能帮我解决这个问题吗?

先感谢您!

更新时间(2010-11-23)

标记存储在数组中

var markersClust = Array();
Run Code Online (Sandbox Code Playgroud)

...并添加(与php结合):

markersClust.push(marker_<?php echo $team["Team"]["id"]; ?>);

var markerClusterer = new MarkerClusterer(MyMap.map, markersClust, clusterOptions);
Run Code Online (Sandbox Code Playgroud)

它工作正常.

但是,我无法将它们从地图中移除,它驱使我......

试图删除标记(和我做)

for ( var i=0; i < markersClust.length; i++) {
    markersClust[i].setMap(null);
}
markersClust = []; 
Run Code Online (Sandbox Code Playgroud)

但群集图标在地图上是静止的.

我也尝试过这样的事情:

markerClusterer.clearMarkers();
Run Code Online (Sandbox Code Playgroud)

并喜欢

MyMap.preventDefault();
MyMap.stopPropagation();
MyMap.clearMarkers();
Run Code Online (Sandbox Code Playgroud)

但是,在地图上,群集的图标仍然存在.

我还需要做些什么来从我的地图中删除这些群集图标?请帮忙...

Hof*_*ffZ 45

这是正确的方法:

// Unset all markers
var i = 0, l = markers.length;
for (i; i<l; i++) {
    markers[i].setMap(null)
}
markers = [];

// Clears all clusters and markers from the clusterer.
markerClusterer.clearMarkers();
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/HoffZ/gEzxx/

文档:https://googlemaps.github.io/js-marker-clusterer/docs/reference.html


Cra*_*rag 0

迭代每个标记并将该标记的映射设置为 null。这将从地图上删除标记。

  • 我在我正在进行的项目中使用相同的实用程序。确保您的markerClusterer变量已正确声明(我在js文件的开头使用varmarkerClusterer = null;)并且markerClusterer.clearMarkers()应该可以工作(不需要其他代码来删除标记或簇,只需清除单行我的每个标记/集群的整个地图)。 (8认同)
  • 是的,使用markerClust[i].setMap(null); 标记簇 = new Array(); 我从地图上删除了标记,但集群标记仍然存在...... (5认同)