我正在嘗試使用Leaflet製作離線貼圖。在小冊子中顯示來自其他縮放級別的瓷磚
爲了保存數據,用戶可以選擇不保存所有縮放級別。舉例用戶具有zoomlevels: - 15和17
現在的問題是,當用戶從15級縮放到16
如何顯示級別15(或17)從16縮放層?
另一種方法是跳過縮放級別16,但也許有另一種選擇? 我從傳單中查看源代碼,但我無法弄清楚。
Update Fiddle與插件,跳過縮放級別(由ILJA茲韋列夫)
HTML
<div id="map"></div>
<div id="out"></div>
javascipt的
var map = L.map('map').setView([52.084, 5.11], 15);
isNoZoomlevel = 16;
L.tileLayer('http://a.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://openstreetmap.org">OpenStreetMap</a>',
maxZoom: 18
}).addTo(map);
map.on('zoomend', function() {
console.log("I zoomed to level " + map.getZoom());
if(map.getZoom() == isNoZoomlevel) {
console.log("This offline zoomlevel does not excist");
$("#out").html("This is no zoomlevel");
// Howto replace the zoomlevel 16 with 17 or 15??
} else {
$("#out").html("");
}
});
CSS
#map {
height: 250px;
}
試過了......像魅力一樣工作 – YaFred
是的。感謝您的好插件。 唯一的問題是,它不會顯示縮放級別16級別15的圖塊。它只是跳過縮放級別16.因此,當您只有3個縮放級別時,它會放大到極限......我將學習如何編寫插件。也許我可以爲你的github做出貢獻.. –
我想讓它變成這樣: http://jsfiddle.net/zoutepopcorn/7a3xe/17/ –