更新传单标记className

时间:2015-05-27 18:11:13

标签: javascript leaflet

我有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()每个标记并查看该标记className属性的集合icon,则会更新该标记。不幸的是,这种变化并没有反映在地图本身中。

1 个答案:

答案 0 :(得分:2)

找到答案。我一直在使用setLayer这是不正确的。有一种名为setIcon的可用方法,并没有记录。

我找到了一个JSFiddle,它在这里展示了它的用法:http://jsfiddle.net/JYF9u/8/

它也被列为文档中标记下的方法:http://leafletjs.com/reference.html#marker-seticon

相关问题