Leaflet 同时设置多个标记的不透明度

Leaflet 同时设置多个标记的不透明度,leaflet,markers,Leaflet,Markers,我正在为我的项目使用传单,我想在其中使用过滤标记。为此,我将所有标记的不透明度设置为0,并将目标的不透明度重新设置为1。我知道传单允许为每个市场设置不透明度,但我可以同时设置所有标记吗? 谢谢你的帮助 实现这一点的方法有很多 在leaftlet中 创建图层组并将每个标记添加到此组: var myGroup = L.layerGroup([mark1, mark2, ...]); 可以将整个组添加到地图中 然后,如果要将标记不透明度设置为0,请执行以下操作: myGroup.eachLayer(

我正在为我的项目使用传单,我想在其中使用过滤标记。为此,我将所有标记的不透明度设置为0,并将目标的不透明度重新设置为1。我知道传单允许为每个市场设置不透明度,但我可以同时设置所有标记吗?
谢谢你的帮助

实现这一点的方法有很多

在leaftlet中

创建图层组并将每个标记添加到此组:

var myGroup = L.layerGroup([mark1, mark2, ...]);
可以将整个组添加到地图中

然后,如果要将标记不透明度设置为0,请执行以下操作:

myGroup.eachLayer(function(layer) {
    layer.setOpacity(0);
});
这里有一个小的JSFIDLE示例:

纯javascript中的

将所有标记存储在一个数组中。首先创建一个数组:

var allMarkers = [];
创建新标记时,将其推入此阵列:

var marker = L.marker(...);
allMarkers.push(marker);
然后,当必须将“不透明度”设置为0时:

allMarkers.forEach(function(marker) {
    marker.setOpacity(0);
});

我尝试了纯,只是用setIcon()函数JS变体(甚至在我看到这个论坛之前,我就开始挖掘了),但它对我不起作用。。。我得到错误:marker.setOpacity不是一个函数…@la_femme_it Dobrýden,也许“marker”对象实际上不是一个标记类型?它是。它确实与内置功能的传单一起工作:)可能是齐柏林飞艇的具体问题,我不知道。Javascript在我的能力范围之外。赫茨基洞穴