Сброс стиль на листочке многоугольника на щелчок
-
21-12-2019 - |
Вопрос
У меня есть карта, сделанная с помощью Lastlet.js с герозом слоем, состоящим из 70-х многоугольников.Каждый раз, когда пользователь нажимает на многоугольник, он выделен, а боковая панель заполнена данными и открывается:
function clickFeature(e) {
var layer = e.target;
layer.setStyle({
weight: 3,
color: '#666',
dashArray: '',
fillOpacity: 0.7
});
info.update(layer.feature.properties);
$( "#mypanel" ).panel("open");
}
.
Это работает нормально.Но мне нужно изменить его, чтобы каждый раз нажал многоугольник, он одновременно выделяется, и ранее нажал многоугольников, возвращается к исходному стилю, поэтому только один многоугольник когда-либо «выбран» за раз.
Я попробовал это, но это не работает (панель больше не обновляется и не открыта):
var lastClickedLayer;
function clickFeature(e) {
geojson.resetStyle(lastClickedLayer);
var layer = e.target;
layer.setStyle({
weight: 3,
color: '#666',
dashArray: '',
fillOpacity: 0.7
});
info.update(layer.feature.properties);
$( "#mypanel" ).panel("open");
layer = lastClickedLayer;
}
.
Любая помощь очень ценится.
Решение
Ваше назначение неверно, это должно быть
lastClickedLayer = layer;
.
Вы также должны добавить дополнительно проверьте, если lastClickedLayer
уже установлен:
if(lastClickedLayer){
geojson.resetStyle(lastClickedLayer);
}
. Не связан с StackOverflow