我的地图上有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);

最佳答案

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

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

关于javascript - leaflet.js覆盖层被隐藏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31346661/

10-11 06:05