2016-01-07 46 views

回答

0

如果正確地明白,要在一些低的縮放級別(如[0至10])以隱藏某些層(插腳/標記物和/或載體/路徑),並以高縮放級別(如11和以上)將它們帶回來?

您可能會對地圖"zoomend" event中的attaching a callback感興趣,以便回調可以根據當前地圖縮放級別(取決於當前地圖縮放級別)將圖層移除或添加到地圖。

例如:

map.on("zoomend", showOrHideLayers); 

function showOrHideLayers() { 
    if (map.getZoom() <= 10) { 
     map.removeLayer(markers); 
    } else { 
     map.addLayer(markers); 
    } 
} 

showOrHideLayers(); 

演示:http://jsfiddle.net/ve2huzxw/116/


編輯:

如果你的目標是避免引腳(標記)重疊,你可能也有興趣在「集羣「功能。

查看可用的Leaflet clustering plugins

最受歡迎的是Leaflet.markerclusterdemo)。

+0

感謝您的回答。我也很高興你添加了聚類元素。這是非常有用的,並回答我有一個額外的問題。非常感謝。 –

+0

我不知道我在做什麼錯,但我已經將演示代碼添加到新地圖來測試代碼,然後與原始地圖集成,但我得到一個灰色的屏幕。 http://rich.littlebigfoot.org.uk/test8.html有什麼想法嗎? –

+0

可能只需要刪除涉及'currentZoom'的代碼的最後部分。這只是一個調試幫助。 – ghybs

相關問題