首页 文章

重新排列Leaflet图层

提问于
浏览
0

我有3层,一个GeoJSON用于传单绘制,两个(矢量和画布/热图)只显示叠加层 .

我的问题是,叠加层后来通过图层控件动态添加,而GeoJSON层始终存在 . 当添加叠加层时,一些绘制功能和与GeoJSON层的一般交互最重要,因为我的叠加始终位于顶部 .

How can I get the GeoJSON layer back to the front?

使用 layer.bringToFront() 无效 .

1 回答

  • 2

    如果通过图层控件添加图层,则每次触发 overlayadd 事件时,可以使用 .bringToFront() 将GeoJSON图层保持在最顶层:

    map.on('overlayadd', function() {
        yourGeoJsonLayerName.bringToFront();
    });
    

    这里有一个有点笨拙的例子:

    http://fiddle.jshell.net/nathansnider/yt65dkyt/

    虽然通过将图层分配给具有持久zIndex的窗格,可以在Leaflet 1.0测试版中更优雅地处理图层排序,但看起来Leaflet Draw还没有正式支持1.0,所以 .bringToFront 就是这样!

相关问题