问题描述
因此,我正在使用Leaflet和Mapbox创建具有多个叠加层和基础地图的地图。 目前,我有一个图层控件将它们分开,您一次只能显示一个底图,但是所有覆盖图可以一次显示。
但是,我有两个互相干扰的叠加层,因此我想这样做,以便如果在控件中选中一个,则另一个未被选中,反之亦然。 有什么办法吗?
我期待这样的事情,但是愿意接受任何建议。
var layer1 = L.mapbox.tileLayer('mapid1');
var layer2 = L.mapbox.tileLayer('mapid2');
var layerControl = L.control.layers(baseMaps, {"L1": layer1, "L2": layer2}).addTo(map);
map.on("overlayadd", function(e) {
if (e.name === "L1"){
L.layers.control.uncheck(layer2);
} else if (e.name === "L2") {
L.layers.control.uncheck(layer1);
};
});
谢谢!!
1楼
。
我不知道有没有更简单的方法。
似乎该库没有提供许多操作L.control.layers
叠加层的选项。
我正在做的是点击有冲突的叠加层。 为此,需要一些DOM操作。 创建叠加层的标签时,您可以存储ID参考。