我想使用自定义图标作为传单标记聚类扩展的单值标记。使用以下代码段更改传单的默认图标不起作用:
var newIcon = L.Icon.Default.extend({
options: {
iconUrl: 'new_icon_location.png'
}
});
答案 0 :(得分:3)
至于在Leaflet中创建图标,语法为:
var newIcon = L.icon({
iconUrl: 'new_icon_location.png'
});
如果您希望所有标记使用该图标而不是默认标记(例如L.Icon.Default
),则应该覆盖icon
选项{ {1}}类(当然,在开始实例化标记之前):
L.Marker
至于更改Leaflet.markercluster插件使用的默认图标,您应该使用选项L.Marker.mergeOptions({
icon: newIcon
});
:
iconCreateFunction
现在,当你说" 使用自定义图标作为传单标记聚类"的单值标记时,我并不完全确定你打算做什么。我猜您使用选项var mcg = L.markerClusterGroup({
iconCreateFunction: function (cluster) {
// create an icon, possibly based on cluster properties.
return clusterIcon;
}
});
,并且您希望将特定图标应用于"大小为1&#34的群集; (实际上是标记集群插件覆盖图标的正常标记)?
在这种情况下,一个简单的解决方案就是不使用singleMarkerMode
选项,而是让所有单个标记都使用该特定图标。可能通过更换标记'确实是默认图标。
但是如果出于某种原因你还想使用singleMarkerMode
选项,那么它也不是那么复杂。你可以这样做:
singleMarkerMode