我有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
,则会更新该标记。不幸的是,这种变化并没有反映在地图本身中。
答案 0 :(得分:2)
找到答案。我一直在使用setLayer
这是不正确的。有一种名为setIcon
的可用方法,并没有记录。
我找到了一个JSFiddle,它在这里展示了它的用法:http://jsfiddle.net/JYF9u/8/
它也被列为文档中标记下的方法:http://leafletjs.com/reference.html#marker-seticon