2016-01-13 57 views

回答

2

至於創造傳單圖標,語法是:

var newIcon = L.icon({ 
    iconUrl: 'new_icon_location.png' 
}); 

如果你想所有標記使用該圖標,而不是默認的(即你想出L.Icon.Default),你應該重寫icon選項L.Marker類(你之前開始實例,當然標記):

L.Marker.mergeOptions({ 
    icon: newIcon 
}); 

對於改變由Leaflet.markercluster插件使用的默認圖標,你應該使用選項iconCreateFunction

var mcg = L.markerClusterGroup({ 
    iconCreateFunction: function (cluster) { 
     // create an icon, possibly based on cluster properties. 
     return clusterIcon; 
    } 
}); 

現在我不是當您說「對單張標記聚類的單個值標記使用自定義圖標」時,確切地確定您打算執行什麼操作。我想你使用選項singleMarkerMode,你想要一個特定的圖標應用於「大小爲1的羣集」(實際上是標記羣集插件重寫的正常標記)?

在這種情況下,一個簡單的解決方案就是不使用singleMarkerMode選項,而是讓所有的標記都使用該特定的圖標。可能通過更換標記的默認圖標。

但是,如果由於某種原因你仍然想使用singleMarkerMode選項,那麼它也不是那麼複雜。你可以舉例如下:

var mcg = L.markerClusterGroup({ 
    singleMarkerMode: true, 
    iconCreateFunction: function (cluster) { 
     var childCount = cluster.getChildCount(); 
     return childCount === 1 ? iconForSize1 : someOtherIcon; 
    } 
}); 
+0

感謝您的反饋意見。這真的很有幫助。關於你的問題,我只是想改變藍色的默認圖標,而不是集羣圖標。 – Oliver