2015-07-10 208 views
1

我在地图上有3个图层。所有图层均为imageOverlay类型以显示大图像而不是平铺样式。 前两层是我可以切换的基本图像(收音机),第三层是覆盖层,如果选中,它应该显示在它们的顶部(复选框)。leafletjs覆盖图层隐藏了

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

我这是怎么开始的层:

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

回答

1

您可以检查,看看是否overlayLayer出现在地图上,如果是,只要基层改为把它前面。

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

非常感谢! – amitdar