在这个人为的例子中,我在地图上显示温度测量结果,并使用markercluster插件聚集过于接近的标记。我使用群集组的iconCreateFunction生成一个反映群组中孩子平均温度的图标。
我的问题是我希望随着时间的推移更新标记的温度,并更新群集图标以反映这些更改。更新后有没有办法在所有集群上触发iconCreateFunction?
答案 0 :(得分:1)
我发现这个解决方案有点hacky,但确实有效:
如果您有标记组
var markers = new L.MarkerClusterGroup(...);
然后您可以通过类似
的方式强制群集更新其图标for (var cluster in markers._featureGroup._layers) {
markers._featureGroup._layers[cluster]._updateIcon && markers._featureGroup._layers[cluster]._updateIcon();
}
答案 1 :(得分:1)
“官方”解决方案似乎是将标记重新添加到群集组,如下所示:https://github.com/Leaflet/Leaflet.markercluster/issues/287
这可以通过以下方式完成:
var markers = new L.MarkerClusterGroup(...);
...
markers.removeLayer(marker);
markers.addLayer(marker);