Ограничить наложения в mapbox
Поэтому я создаю карту, используя 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. Вы можете сохранить идентификатор ссылки при создании метки наложения.