【发布时间】:2016-02-06 03:38:23
【问题描述】:
我的地图上需要图标 (PNG) 和多边形。所以我将图标创建为标记,将多边形创建为多边形。不幸的是,无论创建顺序如何,多边形都显示在“下方”标记中。我需要的反之亦然。有没有办法,怎么做?
【问题讨论】:
标签: leaflet markers polygons z-order
我的地图上需要图标 (PNG) 和多边形。所以我将图标创建为标记,将多边形创建为多边形。不幸的是,无论创建顺序如何,多边形都显示在“下方”标记中。我需要的反之亦然。有没有办法,怎么做?
【问题讨论】:
标签: leaflet markers polygons z-order
编辑:
Leaflet 0.x 中正确的默认窗格顺序:(从最顶部到最底部)
所以仅仅使用标记的图标阴影是不够的。您必须在 CSS(或通过 JS)中手动更改这些窗格的 z-index。
另见Leaflet: Polyline above Marker。
原答案:
向量(如多边形)和标记的堆叠顺序在 Leaflet 0.x 中是固定的。它们被插入到“panes”中,顺序是(从最高到最低):
因此,您应该能够使用标记的Icon shadow 轻松解决此固定顺序。如果您仍然希望用户能够点击您的标记,只需使用透明图像作为普通图标,与您的阴影图像大小相同。
Leaflet 1.0 中的情况有所不同。您可以创建自己的窗格 (map.createPane),通过指定它们的 zIndex(可能通过 CSS)设置它们的顺序,并使用它们的 pane(和用于标记的 shadowPane)选项指定向量和标记的位置(s)。
【讨论】:
z-index。见Leaflet: Polyline above Marker