leafletjs 覆盖层被隐藏

leafletjs overlay layer got hidden

我的地图中有 3 个图层。所有层都是 imageOverlay 类型,以显示大图像而不是平铺样式。 前 2 层是基本图像,我可以在(无线电)之间切换,第三层是叠加层,如果选中(复选框),应该显示在它们之上。

我的问题是,当我选择其中一个基础层时,覆盖层(第三层)被隐藏而不是显示在它上面。

这就是我启动图层的方式:

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);

您可以检查地图上是否存在 overlayLayer,如果存在,则在更改基础层时将其置于最前面。

map.on('baselayerchange', function() {
    if (map.hasLayer(image3Layer)) {
        image3Layer.bringToFront();
    }
});