문제
70 명의 다각형으로 구성된 지지손 층이있는 Leaflet.js로 만든지도가 있습니다.사용자가 다각형을 클릭 할 때마다 강조 표시되고 측면 패널은 데이터로 채워지고 열어줍니다.
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