簡體   English   中英

更新傳單標記className

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM