2015-07-10 204 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