【问题标题】:Leaflet: How to display markers behind polygons?传单:如何在多边形后面显示标记?
【发布时间】:2016-02-06 03:38:23
【问题描述】:

我的地图上需要图标 (PNG) 和多边形。所以我将图标创建为标记,将多边形创建为多边形。不幸的是,无论创建顺序如何,多边形都显示在“下方”标记中。我需要的反之亦然。有没有办法,怎么做?

【问题讨论】:

    标签: leaflet markers polygons z-order


    【解决方案1】:

    编辑:

    Leaflet 0.x 中正确的默认窗格顺序:(从最顶部到最底部)

    1. 对象窗格
      1. 弹出窗格
      2. markerPane L.CircleMarker 除外)
      3. shadowPane 图标阴影
      4. overlayPane L.CircleMarker)
    2. tilePane

    所以仅仅使用标记的图标阴影是不够的。您必须在 CSS(或通过 JS)中手动更改这些窗格的 z-index

    另见Leaflet: Polyline above Marker


    原答案:

    向量(如多边形)和标记的堆叠顺序在 Leaflet 0.x 中是固定的。它们被插入到“panes”中,顺序是(从最高到最低):

    1. 弹出窗格
    2. markerPane L.CircleMarker 除外)
    3. overlayPane L.CircleMarker)
    4. shadowPane 图标阴影
    5. tilePane

    因此,您应该能够使用标记的Icon shadow 轻松解决此固定顺序。如果您仍然希望用户能够点击您的标记,只需使用透明图像作为普通图标,与您的阴影图像大小相同。

    Leaflet 1.0 中的情况有所不同。您可以创建自己的窗格 (map.createPane),通过指定它们的 zIndex(可能通过 CSS)设置它们的顺序,并使用它们的 pane(和用于标记的 shadowPane)选项指定向量和标记的位置(s)。

    【讨论】:

    猜你喜欢
    • 2021-02-07
    • 2021-04-05
    • 2019-04-20
    • 1970-01-01
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    相关资源
    最近更新 更多