目前我有一组标记,我将它们聚类为:
var markerCluster = new MarkerClusterer(map, cm_mapMarkers);
但我也有一组过滤器,用于设置标记可见的假或真。 不幸的是,当我设置标记setvisible(false)时,簇计数没有改变。
所以我找了方法来做到这一点:
我尝试了以下内容:
MarkerClusterer.redraw();
MarkerClusterer.repaint();
两者都导致:没有方法'重绘'没有方法'重绘'
这是一个JSfiddle:
有谁知道我做错了什么?
提前致谢
答案 0 :(得分:15)
我设法使用markerclustererplus并使用markerCluster.setIgnoreHidden(true); and markerCluster.repaint();
答案 1 :(得分:2)
MarkerClusterer并非真的是为那种东西而设计的。执行所需操作的最简单方法是使用与您的过滤器匹配的新标记数组clearMarkers()
然后addMarkers(markers)
。
答案 2 :(得分:1)
经过一段时间的尝试,我找到了一个有效的解决方案,对那里的人有帮助......
将markerCluster和地图(mymap)保存在变量中。
然后循环遍历所有可用的标记,并像这样:
if (show) {
markerCluster.addMarker(markers[i]);
if (markers[i].getMap == null)
markers[i].marker.setMap(mymap);
showing++;
} else {
markerCluster.removeMarker(markers[i]);
if (markers[i].getMap != null)
markers[i].marker.setMap(null);
}