当前位置: 代码迷 >> JavaScript >> 限制mapbox中的叠加层
  详细解决方案

限制mapbox中的叠加层

热度:68   发布时间:2023-06-07 15:55:04.0

因此,我正在使用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);
  };
});

谢谢!!

我不知道有没有更简单的方法。 似乎该库没有提供许多操作L.control.layers叠加层的选项。

我正在做的是点击有冲突的叠加层。 为此,需要一些DOM操作。 创建叠加层的标签时,您可以存储ID参考。