使用Leaflet SuperCluster时有没有办法更改默认标记图标?
我按照演示中给出的示例进行操作。我能够让 Supercluster 工作并能够创建集群。但是各个标记具有默认的传单标记图标,该图标来自示例中的 createClusterIcon 方法。
我有不同类型的标记,并且希望每个标记有不同的图标。
Supercluster 使用具有 pointToLayer 功能的 geoJSON 层来创建集群图标。我们如何修改或自定义它以创建集群图标并为每个标记提供自定义图标?
createClusterIcon 方法 -
function createClusterIcon(feature, latlng) {
if (!feature.properties.cluster) return L.marker(latlng);
var count = feature.properties.point_count;
var abbrev = feature.properties.point_count_abbreviated;
var size =
count < 100 ? 'small' :
count < 1000 ? 'medium' : 'large';
var icon = L.divIcon({
html: '<div><span>' + feature.properties.point_count_abbreviated + '</span></div>',
className: 'marker-cluster marker-cluster-' + size,
iconSize: L.point(40, 40)
});
return L.marker(latlng, {icon: icon});
}
添加到地图的 geoJSON 图层
var markers = L.geoJson(null, {
pointToLayer: createClusterIcon}).addTo(map);
使用 addData 方法将标记添加到 geoJSON 层
markers.clearLayers();
markers.addData(e.data);