[英]Update Leaflet marker className
我有一個L.layerGroup()
稱為var stopsLayer
。 當用戶設置了某些參數並僅“打開”那些與用戶輸入匹配的參數時,我要遍歷它。
啟用標記意味着它顯示一種樣式而不是默認樣式。 我要實現此目的的方法如下。
stopsLayer.eachLayer(function (layer) {
if (parameter === userInput) {
layer.options.icon.options.className = 'icon-on';
} else {
layer.options.icon.options.className = 'icon-off';
}
});
如果我用console.log()
每個標記並查看該標記的icon
屬性的set className
,它就可以正常工作了,它已經被更新。 不幸的是,此更改未反映在地圖本身中。
找到了答案。 我一直在使用setLayer
,這是不正確的。 沒有可用的稱為setIcon
方法。
我在這里找到了一個演示其用法的JSFiddle: http : //jsfiddle.net/JYF9u/8/
它還在文檔中的標記下作為方法列出: http : //leafletjs.com/reference.html#marker-seticon
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.