[英]Leaflet zoom overridden by maxZoom
問題:
所以我的問題是maxZoom似乎超越了Leaflet的縮放。
在文檔中, zoom
說明為: Initial map zoom.
我使用的代碼如下。
碼:
var map = L.map('map', {
maxZoom: 18,
zoom: 17,
zoomControl: false
}).locate({
setView: true,
}); // set default location to current GPS location
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
}).addTo(map);
結果:
結果是初始縮放是18
而不是17
。
預期行為:
我要的是最大縮放不超過18
但最初以17
開始。
嘗試將maxzoom和minzoom添加到瓦工中。 我在setView中設置了開始縮放(13是開始縮放)。 希望它能有所幫助,因為當您通過GPS獲取位置信息時,我不確定它是如何工作的。
var map = L.map('map').setView([8.939, 3.541], 13);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 18,
minZoom:7,
attribution: 'OpenStreetMap'
}).addTo(map);
克里斯蒂安
我提出這個主題有點晚了,不知道您是否已經解決了這個問題。 我在當前正在處理的項目中遇到了同樣的問題,並且使用setZoom()方法找到了解決方案。
在我的特定情況下,我使用的是Leaflet版本0.7.x,對我來說,將方法連接到fitBounds()就足夠了,如下面的示例所示:
map.fitBounds(group.getBounds(), {
padding: [30, 30]
}).setZoom(settings.zoom.initialZoom);
由於我沒有找到太多有關此特定問題的文檔,因此我在這里發布了我的解決方案,希望它可以幫助其他任何人都應該遇到相同的問題。
我猜想.locate()
函數會將縮放重置為適合所提供的用戶位置的級別。 如果您不希望這樣做,也可以為此設置一個單獨的maxZoom
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.