我正在尝试使用此功能切换Leaflet / Mapbox地图中图层的可见性:
var showOne = document.getElementById("one");
showOne.onclick = function(e) {
if (this.className='active') {
map.removeLayer(groupOne);
this.className = '';
} else {
map.addLayer(groupOne);
this.className = 'active';
}
};
关闭一层但不重新打开。如何将图层切换回可见?然后,我该如何切换多个图层 - 这会起作用:
var showOne = document.getElementById("one");
showOne.onclick = function(e) {
if (this.className='active') {
map.removeLayer(groupOne);
map.removeLayer(groupTwo);
this.className = '';
} else ...
答案 0 :(得分:1)
不确定这是否是唯一的问题,但是:
if (this.className='active') { // Assigns 'active' to className (always true)
应该是:
if (this.className=='active') { // Compares className with 'active'
编辑:似乎可以做到这一点:http://jsfiddle.net/Q3hfP/1/
答案 1 :(得分:1)
好的,我发现其他文档表明答案是形成一个layerGroup:
var layersAll = L.layerGroup([groupOne, groupTwo]);
...
map.removeLayer(layersAll);