문제

나는 지금까지 환상적인 OpenStreetMap 매핑 라이브러리 Leaflet.js를 사용해 왔고, 방금 이 클러스터링 플러그인 .현재 프로젝트로 잘 작동하고 있으며, 다른 레이어를지도 및 클릭 가능한 사이드 바에로드합니다.

사이드 바 항목을 클릭하면 해당 마커가 클러스터링 객체에 있으면 오류가 발생합니다.나는 이와 같이 줌 (Try / Catch) 및 확대 / 축소를 줌으로써이 문제를 해결하고 아래와 같이 레이어가 표시됩니다 :

$('.item').click(function() {
    currentlayer = this.id;
...
        try {
            geojson._layers[currentlayer].openPopup();
        } catch(e) {
            map.setView(geojson._layers[currentlayer]._latlng, 16); 
            geojson._layers[currentlayer].openPopup();
        }                   
...
    return false;
});
.

확대 / 축소 후 OpenPopup () 메소드를 실행하려고 할 때 동일한 오류가 발생한다는 것입니다.여기서 조치로 볼 수 있습니다 :

http://www2.lichfielddc.gov.uk/myarea/map2.php <./ a>

아이디어가 있습니까?

도움이 되었습니까?

해결책

예, 그 플러그인과 같은 문제가있었습니다.그래서 나는 팝업을 올바르게 배치 해야하는 내 자신을 개발했습니다.일부 이벤트에서도 구축되므로 클러스터를 클릭 할 때 일부 코드를 실행하거나 줌 레벨이 변경되지 않도록합니다.

https://github.com/cavis/leafpile

또한, https://github.com/cavis/slidemapper.지도에서 따르는 슬라이드 쇼를 만드는 jQuery 플러그인입니다.나는 내 리프 패클 플러그인을 직접 통합하기 위해 노력하고 있습니다.

다른 팁

zoomToShowLayer를 사용하여 클러스터 레이어를 확대해야 할 수도 있습니다.

https://github.com/leaflet/leaflet.markercluster/issues/75 <./ a>

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