2014-04-08 83 views
20

我有一個平底鍋和縮放的小冊子地圖。如何動態獲取地圖邊緣的經緯度(放大/縮小+平移後)?獲取可見傳單地圖的邊界框?

+1

你的意思是在地圖的範圍/程度?或者是每個經過區域邊界的經緯度?如果您只想獲得邊界,您可以在dragend上調用map.getBounds()。 map.on('dragend',myFunctionThatGetsMapBounds())我會在每次移動地圖時嘗試這樣的方式來獲取邊界。 zoomend可以做同樣的事情。 – Ju66ernaut

回答

29

它,因爲你可能會猜測:

map.getBounds(); 

如果你想平移和縮放後得到的範圍,使用events,像

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

以上的答案是正確的,但不能非常有幫助,不幸的是,單張文檔沒有提供關於getBound()調用的更多細節。

如果您添加到您的地圖初始化功能,您可以看到顯示的地圖數據:

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() 
    )}); 

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

有一大堆的生活在其中的的LatLngBounds下對象的方法,所以你應該能夠找到電話,有可以給你任何信息你正在尋找的一個。

希望能幫助別人。