0

首先非常感谢并感谢您对上述挑战的任何帮助、建议或建议。

在我的程序中有 2 个主要部分,例如: - 1. 按类别或状态的复选框。2. 所选类别或状态的 ClusterMarkers

由于我的技术技能和知识有限,如果取消选中该复选框,我将无法清除、禁用或隐藏 clusterMarker。您尝试了许多方法,例如:-

if ( markerClusterer !== null ) {
   markerClusterer.clearMarkers();
}

或 var clear = document.getElementById('clear'); google.maps.event.addDomListener(clear, 'click', clearClusters);

function clearClusters(e) {
    e.preventDefault();
    e.stopPropagation();
    markerClusterer.clearMarkers();
    map.clearOverlays();
}

详细程序和数据如下:- Program-> [jsfiddle] (jsfiddle.net/39tES) Data -> [jsfiddle] (jsfiddle.net/DELus)

4

1 回答 1

0

听起来你想要多个实例。如果您可以按状态级别聚合数据,则可以尝试为每个状态/类别创建一个 MarkerClusterer 实例:

var clustererStateOrCat = new MarkerClusterer(mapInstance, markersForStateOrCat, mc_opts);

那么你可以有一个存储实例的对象文字:

var clusterers[stateOrCategoryName] = clustererStateOrCat;

然后,您可以检测单击了哪个状态/类别,并删除/绘制该特定实体的标记。

于 2012-03-19T18:14:50.517 回答