Ale*_* G. 5 javascript overlay layer panes leaflet
我正在使用Leaflet.StyledLayerControl插件,并希望设置我的图层,以便多边形始终被推到后面,线位于多边形上方,点位于线上方。
我在这里搜索了解决方案,但大多数都指的是tilelayers或地图窗格(我认为它们只能与传单1.0的另一个版本一起使用)。
我希望能够打开和关闭线,并让它们始终位于点下方(与折线下方的多边形相同)。
我猜我必须用setZIndexor做一些事情bringToFront(),但我不知道从哪里开始。
任何帮助,将不胜感激。谢谢。
最简单的解决方案实际上是使用Leaflet 1.0,它为您提供了map.createPane("paneName")功能。因此,您可以创建“polygonsPane”、“linesPane”和“pointsPane”等内容,并使用其选项指定每个矢量/形状图层pane。
设置后,您可以将它们添加到地图或从地图中删除它们,并且它们将始终插入到指定的窗格中,因此尊重窗格的顺序。
// Create necessary panes in correct order (i.e. "bottom-most" first).
map.createPane("polygonsPane");
map.createPane("linesPane");
map.createPane("pointsPane");
L.polygon([/* coords */], { pane: "polygonsPane" }).addTo(map);
L.polyline([/* coords */], { pane: "linesPane" }).addTo(map);
L.circleMarker([/* coords */], { pane: "pointsPane" }).addTo(map);
Run Code Online (Sandbox Code Playgroud)
演示: https: //jsfiddle.net/3v7hd2vx/51/
使用Leaflet 0.7,您知道所有矢量图层都是同一个 SVG 容器的一部分,在添加到地图时被附加,因此它们出现在所有先前添加的矢量之上。然后您必须使用bringToFront()它们和/或bringToBack()将它们重新排序为您需要的任何顺序。
您可能对该案例的帖子感兴趣:https://gis.stackexchange.com/questions/166252/geojson-layer-order-in-leaflet-0-7-5/167904#167904
| 归档时间: |
|
| 查看次数: |
5008 次 |
| 最近记录: |