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

标签 leaflet markers

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

最佳答案

有很多方法可以实现这一目标

传单中

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

var myGroup = L.layerGroup([mark1, mark2, ...]);

您可以将整个群组添加到 map 中。

然后,当您想将标记不透明度设置为 0 时:

myGroup.eachLayer(function(layer) {
    layer.setOpacity(0);
});

这里有一个 jsfiddle 的例子:

https://jsfiddle.net/csblo/64phqLb7/4/

纯 JavaScript

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

var allMarkers = [];

当您创建新标记时,将其推送到此数组中:

var marker = L.marker(...);
allMarkers.push(marker);

然后,当您必须将不透明度设置为 0 时:

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

关于leaflet - 同时设置多个标记的不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43339457/

相关文章:

javascript - 传单标记事件在错误的时间触发

geolocation - Leaflet.js中的L.polygon边界

angular - 如何让 Leaflet Marker-Cluster Freezable 方法显示在 VS Code IntelliSense 中

javascript - Polymer 1.0/leaflet-map 中动态创建的标记不会在 Firefox 中呈现

plot - 在 Labview 中自定义绘图

javascript - 使用 JavaScript 删除字符串中注释标记后面的文本和空格 - 在字符串中创建新行

eclipse - 在IntelliJ IDEA 10中显示 "raw type"警告列表

onclick - Leaflet:将点击事件添加到群集图标

matlab - 更改 scatter3 中标记的大小

angular - 传单 divIcon 未以 Angular 显示在 map 上