2012-12-31 2 views
10

모두, 내 사이드 ​​바를 표시된 레이어와 동기화하기 위해 사용자 레이어 선택을 감지하고 싶습니다.리플렛 레이어 제어 이벤트?

하지만 API 참조에서 레이어 컨트롤 이벤트가 표시되지 않습니다. 이러한 사용자 계층 선택이 언제 발생했는지 어떻게 알 수 있습니까?

대신 레이어로드 및 언로드 이벤트를 살펴 보았지만 리턴 된 이벤트에 어떤 ID도 표시되지 않습니다. 어떻게 든 그걸 그리워 했니?

$("[name='leaflet-base-layers']").change(function() { 
     alert('Layers selected: ' + $(this).parent().text()); 
    }); 
+0

어떤 종류의 레이어입니까? –

답변

15

사용자가/desactivates를 활성화 할 때 알려 일부 이벤트가 있습니다 . 층이

이 당신을 도울 수 있습니다

http://leafletjs.com/reference.html#control-layers-baselayerchange

예 :

map.on('overlayadd', onOverlayAdd); 

function onOverlayAdd(e){ 
    //do whatever 
} 
+0

그건 그렇습니다. 감사! – user1032402

+0

사용자가 컨트롤을 통해 레이어를 수동으로 추가하거나 레이어가 추가 될 때 (코드를 자동으로 통과하더라도) 레이어가 추가되는 경우에만 실행됩니까? – Rikaelus

+0

http://leafletjs.com/reference-1.0.3.html#map-baselayerchange. 업데이트 된 @Adrian Garcia의 URL – Greg

2

는 다음과 같이 jQuery를 함께 라디오 버튼을 제어 https://github.com/vogdb/Leaflet.ActiveLayers

이것은 매우 유용한 기능이므로 프로젝트 중 하나에서 촬영할 것입니다.

+0

난 Leaflet이 아닌 JQuery 레이어 컨트롤을 사용하고 싶지만, 불가능하다고 생각하기 시작했다. 어떤 종류의 레이어이든, 사용할 수있는 것이 무엇이든 나는 기뻐할 것입니다. – user1032402

0

가 실제로 아직 그것을 사용하려고하지 않은,하지만이 플러그인 약속 같은데 : :

당신은 리플릿 층에 자신의 "변경"이벤트를 결합 할 수 있습니다
관련 문제