同时为多个标记设置不透明度
setOpacity for multiple markers at the time
我正在为我的项目使用传单,我想在其中使用过滤标记。为此,我会将所有标记的 setOpacity 设置为 0,并将我的目标的 setOpacity 重新设置为 1。我知道传单允许为每个市场设置不透明度,但我可以同时设置所有标记吗?
谢谢你的帮助!
有很多方法可以实现
传单中
创建图层组并将每个标记添加到该组:
var myGroup = L.layerGroup([mark1, mark2, ...]);
您可以将整个组添加到地图中。
然后,当您想将标记不透明度设置为 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);
});
我正在为我的项目使用传单,我想在其中使用过滤标记。为此,我会将所有标记的 setOpacity 设置为 0,并将我的目标的 setOpacity 重新设置为 1。我知道传单允许为每个市场设置不透明度,但我可以同时设置所有标记吗? 谢谢你的帮助!
有很多方法可以实现
传单中
创建图层组并将每个标记添加到该组:
var myGroup = L.layerGroup([mark1, mark2, ...]);
您可以将整个组添加到地图中。
然后,当您想将标记不透明度设置为 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);
});