簡體   English   中英

獲取可見的傳單地圖的邊界框?

[英]Get the bounding box of the visible leaflet map?

我有一個平移和縮放的傳單地圖。 如何動態獲取地圖邊緣的緯度/長度(放大/縮小+平移后)?

正如你可能猜到的那樣:

map.getBounds();

如果要在平移和縮放后獲取邊界,請使用事件 ,例如

map.on('moveend', function() { 
     alert(map.getBounds());
});

上面的答案是正確的,但不是很有幫助,不幸的是,傳單文檔沒有提供有關getBounds()調用的詳細信息。

如果將其添加到map init函數,則可以看到顯示的地圖數據:

map.on('dragend', function onDragEnd(){
    var width = map.getBounds().getEast() - map.getBounds().getWest();
    var height = map.getBounds().getNorth() - map.getBounds().getSouth();

    alert (
        'center:' + map.getCenter() +'\n'+
        'width:' + width +'\n'+
        'height:' + height +'\n'+
        'size in pixels:' + map.getSize()
    )});

請注意,size是地圖窗口的像素尺寸,其中邊界是縮放的內部尺寸。 嘗試縮放,您將看到大小保持不變,但每個縮放級別的高度和雙倍。

LatLngBounds對象下有很多方法,所以你應該能夠在那里找到一個可以為你提供所需信息的調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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