重新排列Leaflet图层

时间:2015-11-03 18:54:27

标签: leaflet leaflet.draw

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

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

如何将GeoJSON图层重新放到前面?

使用layer.bringToFront()无效。

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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