문제

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);
}
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top