我的地图中有3层。所有图层都是 imageOverlay 类型,以显示大图像而不是图块样式。 前两层是我可以在(无线电)之间切换的基本图像,第三层是应该在其上显示的叠加(如果选中)(复选框)。
我的问题是,当我选择其中一个基础层时,覆盖层(第三层)被隐藏而不是显示在它上面。
这是我启动图层的方式:
var image1Layer = L.imageOverlay(image1Url, imageBounds);
var image2Layer = L.imageOverlay(image2Url, imageBounds);
var image3Layer = L.imageOverlay(image3Url, imageBounds);
L.control.layers({
'New': image2Layer,
'Old': image1Layer
},
{
'Changes': image3Layer
},
{collapsed:false}).addTo(map);
答案 0 :(得分:1)
您可以检查地图上是否存在overlayLayer,如果是,则每当更改基础层时将其置于前面。
map.on('baselayerchange', function() {
if (map.hasLayer(image3Layer)) {
image3Layer.bringToFront();
}
});