Я сделал боковую панель для своего проекта листовки. У меня уже есть функция, которая включает и выключает одну легенду, когда выбран правильный слой, но когда я пытаюсь использовать ее для слоев в боковой панели, она просто не работает. Моя функция:
layer1.on('add', function (e) {
if (!map.hasLayer(legend)) {
legend.addTo(map);
}
});
layer1.on('remove', function (e) {
map.removeControl(legend);
});
Мои слои / легенды боковой панели закодированы следующим образом
var legend3 = L.control({
position: 'bottomright'
});
legend3.onAdd = function (map) {
var div = L.DomUtil.create('div', 'info legend'),
grades = [0, 20, 23, 26, 29, 32, 35, 38, 41],
labels = [];
div.innerHTML += "<h4>Legend</h4>";
for (var i = 0; i < grades.length; i++) {
div.innerHTML +=
'<i style="background:' + getColor(grades[i] + 1) + '"></i> ' +
grades[i] + (grades[i + 1] ? '–' + grades[i + 1] + '<br>' : '+');
}
return div;
};
map.removeLayer(layer1);
map.removeLayer(layer2);
map.removeLayer(layer3);
map.removeLayer(layer4);
map.addLayer(newlayer);
legend3.addTo(map);
};
Кто-нибудь знает, почему мой предыдущий код не работает, и, возможно, может помочь мне?