簡體   English   中英

單張縮放被maxZoom覆蓋

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM