전단지 맵 창 레이어 순서 (z- 색인)를 변경하는 방법?


16

리플렛은 맵 분할 창 요소에 맵에 추가 된 모든 레이어가 포함되도록 유지합니다. 많은 맵 분할 창의 차이점은 레이어링의 z- 인덱스 순서입니다.

overlayPaneGeoIQ Acetate-bg 및 라벨과 같은 TileLayer와 함께 본질적으로 레이어 인 lvector.CartoDB 레이어의 조합을 사용하고 싶습니다 .

이것은 맵에 추가되는 요소의 순서입니다.

tileLayer1 = new L.TileLayer();
map.add(tileLayer1);  // add first layer to map

cartoDBLayer1 = new lvector.CartoDB();
cartoDBLayer.setMap(map); // add second layer to map

tileLayer2 = new L.TileLayer();
map.add(tileLayer2);  // add third layer to map

반환되는 것은 다음 순서로 레이어가있는 맵입니다.

tileLayer1,tileLayer2,cartoDBLayer1

tileLayer1tileLayer2에 위치하고 있습니다 HTMLElement: TilePanecartoDBLayer1입니다 HTMLElement: overlayPane.

cartoDBLayer1TilePane에서 강제 로 렌더링하여 z-index 순서에 따라 맵에 추가되는 방법이 있습니까?

z-index[0]:tileLayer1
z-index[1]:cartoDBLayer1
z-index[2]:tileLayer2 

답변:


17

이 문제가 LeafLet github 저장소를 생성 한 것을 보았습니까?

https://github.com/Leaflet/Leaflet/issues/167

사용하려고

 addLayer(layer,true);

바닥에 타일 레이어를 추가합니다. 이것이 전부이며 두 번째 선택적 인수는 문서화되어 있지 않습니다.

2014 년 9 월 업데이트

전단지는 이제 zIndex 설정을 지원합니다 . 알려주는 의견에 @knutole에게 감사드립니다.


1
여기에서 문서화되지 않은 기능을 언급하여 +1하면 문서화됩니다. :)
fgysin reinstate Monica

7
편지가 layer.setZIndex(zIndex)가능한 기능.
knutole

5
감사합니다- layer.setZIndex(99)벡터 기호 (선 및 다각형 기능)에서 작동하지 않는 것 같지만 사용 layer.bringToFront()하여 트릭을 수행했습니다.
아무것도 불필요
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.