как включать и выключать легенды? (Брошюра) - PullRequest
0 голосов
/ 25 марта 2020

Я сделал боковую панель для своего проекта листовки. У меня уже есть функция, которая включает и выключает одну легенду, когда выбран правильный слой, но когда я пытаюсь использовать ее для слоев в боковой панели, она просто не работает. Моя функция:

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] ? '&ndash;' + grades[i + 1] + '<br>' : '+');
     }

     return div;
 };

 map.removeLayer(layer1);
 map.removeLayer(layer2);
 map.removeLayer(layer3);
 map.removeLayer(layer4);

 map.addLayer(newlayer);
 legend3.addTo(map);
};

Кто-нибудь знает, почему мой предыдущий код не работает, и, возможно, может помочь мне?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...