Làm cách nào để thay đổi thứ tự phân lớp tờ rơi (z-index)?


16

Tờ rơi duy trì rằng các thành phần pan Map chứa tất cả các lớp được thêm vào bản đồ. Sự khác biệt giữa nhiều bảng Map là thứ tự phân lớp z-index.

Tôi muốn sử dụng kết hợp các lớp lvector.CartoDB, về cơ bản là overlayPanecác lớp, với TileLayer, chẳng hạn như GeoIQ Acetate-bg và nhãn.

Đây là thứ tự của các yếu tố khi chúng được thêm vào bản đồ:

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

Những gì trả về là một bản đồ với các lớp theo thứ tự này:

tileLayer1,tileLayer2,cartoDBLayer1

tileLayer1tileLayer2nằm trong HTMLElement: TilePanecartoDBLayer1là trong HTMLElement: overlayPane.

Có cách nào để buộc cartoDBLayer1hiển thị trong TilePane, sao cho nó rơi theo thứ tự z-index mà nó được thêm vào bản đồ trong ...

I E

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

Câu trả lời:


17

Bạn đã thấy vấn đề này tạo ra một repo LeafLet github:

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

thử sử dụng

 addLayer(layer,true);

để thêm một lớp gạch vào dưới cùng. Tôi sợ rằng tất cả đều có và đối số tùy chọn thứ hai này thậm chí không được ghi lại.

Cập nhật tháng 9 năm 2014

Tờ rơi hiện hỗ trợ thiết lập z Index . Cảm ơn @knutole trong các bình luận đã cho tôi biết.


1
+1 để đề cập đến một tính năng không có giấy tờ ở đây, do đó, ghi lại nó. :)
fgysin phục hồi Monica

7
Bây giờ có một layer.setZIndex(zIndex)chức năng có sẵn.
knutole

5
Cảm ơn - layer.setZIndex(99)dường như không hoạt động với tôi với hệ thống ký hiệu vectơ (tính năng đường thẳng và đa giác), nhưng sử dụng layer.bringToFront()đã thực hiện thủ thuật.
gì cần thiết
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.