2013-02-14 106 views
21

在GoogleMap android API v2上,如何獲取當前地圖縮放級別?在API v1上,曾經有float MapView.getZoomLevel(),但在我使用的API版本上似乎沒有任何相似之處,Google建議。如何獲取當前的Google地圖縮放級別?

我想過使用類變量通過縮放按鈕單擊偵聽器來手動保存縮放級別,但這並不能解決縮放類型縮放的問題。

爲什麼我需要當前縮放級別?我將地圖範圍限制爲某個矩形,並且希望任何可能會離開此矩形的移動反彈回來。該動畫需要我使用縮放級別,因爲沒有它,將使用默認的最大縮放級別。我真正想要的是保持移動嘗試之前使用的縮放級別。

protected void recenterMap() { 
    map.getMinZoomLevel(); 
    if(MAP_BOUNDS.contains(map.getCameraPosition().target) == false) { 
     CameraPosition cameraPosition = new CameraPosition.Builder() 
     .target(MAP_CENTER)  
     .zoom(current_zoom) 
     .build();  

     map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); 
    } else { 
     MAP_CENTER = map.getCameraPosition().target; 
    } 
} 

注意變量current_zoom是我需要定義。

回答

67

對於Android,試圖獲取當前CameraPosition,並得到從變焦。
我相信這是:

map.getCameraPosition().zoom 
+0

(自從我在Android上觸及它以來已經有一段時間了..) – 2013-02-14 21:49:32

+0

哇,沒想到直接從課程中獲得縮放(沒有方法)! – jhc 2013-02-14 21:53:10

+3

很高興我可以幫助:)歡迎使用Android的無用的API文檔.. – 2013-02-14 22:03:05

-5

它應該是(在V2 API)

map.getZoom(); 

如果沒有,嘗試document.getElementById("zoom").innerHTML

+0

同上評論,這個答案將是罰款爲JavaScript,但我使用谷歌地圖API第2版的Android。 – jhc 2013-02-14 21:36:21

+0

是的,我沒有意識到這是爲Android。 – 2013-02-14 21:37:17

+1

哎呦:)對不起...我錯過了自己的ANDROID部分 – 2013-02-14 21:38:41

相關問題