[英]Updating cluster icon after updating children
在这个人为的示例中,我将在地图上显示温度测量值,并使用markercluster插件对过于接近的标记进行聚类。 我正在使用群集组的iconCreateFunction生成一个图标,该图标反映该组中子级的平均温度。
我的问题是我想随着时间的推移更新标记的温度,并让群集图标更新以反映这些变化。 更新之后,是否可以在所有群集上触发iconCreateFunction?
我发现这个解决方案有点棘手,但确实有效:
如果您有标记组
var markers = new L.MarkerClusterGroup(...);
那么您可以通过以下方式强制集群更新其图标:
for (var cluster in markers._featureGroup._layers) {
markers._featureGroup._layers[cluster]._updateIcon && markers._featureGroup._layers[cluster]._updateIcon();
}
“官方”解决方案似乎是将标记重新添加到群集组,如下所示: https : //github.com/Leaflet/Leaflet.markercluster/issues/287
这可以简单地通过以下方式完成:
var markers = new L.MarkerClusterGroup(...);
...
markers.removeLayer(marker);
markers.addLayer(marker);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.