传单:如何在多边形后面显示标记?
Leaflet: How to display markers behind polygons?
我的地图上需要图标 (PNG) 和多边形。所以我将图标创建为标记,将多边形创建为多边形。不幸的是,无论创建顺序如何,多边形都会显示 "below" 个标记。我需要的是反之亦然。有没有办法,怎么做?
编辑:
更正 Leaflet 中的默认窗格顺序 0.x:(从最上到最下)
- objectsPane
- 弹出面板
- markerPane <= 所有标记图标(
L.CircleMarker
除外)
- shadowPane <= 所有标记 icon 阴影
- overlayPane <= 所有矢量(包括
L.CircleMarker
)
- tilePane
因此仅使用标记的图标阴影是不够的。您必须在 CSS(或通过 JS)中手动更改这些窗格的 z-index
。
另见 。
原回答:
矢量(比如你的多边形)和标记的堆叠顺序在 Leaflet 中是固定的 0.x。它们被插入到“panes”中,顺序是(从最上到最下):
- 弹出面板
- markerPane <= 所有标记图标(
L.CircleMarker
除外)
- overlayPane <= 所有矢量(包括
L.CircleMarker
)
- shadowPane <= 所有标记 icon 阴影
- tilePane
因此,您应该能够使用标记的 Icon shadow 轻松解决此固定顺序。如果您仍希望用户能够点击您的标记,只需为普通图标使用透明图像,其大小与您的阴影图像相同。
Leaflet 1.0的情况有所不同。您可以创建自己的窗格 (map.createPane
),通过指定它们的 zIndex
(可能通过 CSS)来设置它们的顺序,并使用它们的 [=17= 指定您的矢量和标记的位置](标记为 shadowPane
)选项。
我的地图上需要图标 (PNG) 和多边形。所以我将图标创建为标记,将多边形创建为多边形。不幸的是,无论创建顺序如何,多边形都会显示 "below" 个标记。我需要的是反之亦然。有没有办法,怎么做?
编辑:
更正 Leaflet 中的默认窗格顺序 0.x:(从最上到最下)
- objectsPane
- 弹出面板
- markerPane <= 所有标记图标(
L.CircleMarker
除外) - shadowPane <= 所有标记 icon 阴影
- overlayPane <= 所有矢量(包括
L.CircleMarker
)
- tilePane
因此仅使用标记的图标阴影是不够的。您必须在 CSS(或通过 JS)中手动更改这些窗格的 z-index
。
另见
原回答:
矢量(比如你的多边形)和标记的堆叠顺序在 Leaflet 中是固定的 0.x。它们被插入到“panes”中,顺序是(从最上到最下):
- 弹出面板
- markerPane <= 所有标记图标(
L.CircleMarker
除外) - overlayPane <= 所有矢量(包括
L.CircleMarker
) - shadowPane <= 所有标记 icon 阴影
- tilePane
因此,您应该能够使用标记的 Icon shadow 轻松解决此固定顺序。如果您仍希望用户能够点击您的标记,只需为普通图标使用透明图像,其大小与您的阴影图像相同。
Leaflet 1.0的情况有所不同。您可以创建自己的窗格 (map.createPane
),通过指定它们的 zIndex
(可能通过 CSS)来设置它们的顺序,并使用它们的 [=17= 指定您的矢量和标记的位置](标记为 shadowPane
)选项。