我有谷歌地图。一些标记就可以了。我有一些复选框可以按某些标准过滤标记,即隐藏或显示它们;但是,无论如何,隐藏的标记始终保留在地图上 - 最终会重新显示。
实际上由于标记过多,我需要添加聚类(MarkerClusterer)。我的问题是,当我隐藏标记时,群集器不会更新...这是我的测试CODEPEN。
googleMapService.hideMarkers = function () {
if (!markerCluster) return;
markerCluster.getMarkers().forEach(function(m){m.setVisible(false);});
markerCluster.repaint(); // does not update the counter...(
}
请注意我不需要/想要 从地图中移除标记。我只需隐藏他们。
当我查看聚类代码时,它包含:
MarkerClusterer.prototype.removeMarker_ = function(marker) {
...
marker.setMap(null);
...
};
我不想从地图中删除标记,因此我不使用removeMarker函数...