我正在開發一款應用谷歌地圖V2的Android應用。 現在我被困在尋找地圖縮放級別發生變化的時候。 任何人都可以幫助我嗎?在此先感謝。谷歌地圖V2中的縮放級別監聽器在Android中
回答
創建一個實現of OnCameraChangeListener
,並通過它的一個實例to setOnCameraChangeListener()
of your GoogleMap
。每當用戶更改縮放,中心或傾斜時,應使用onCameraChange()
調用您的聽衆。您可以從您傳遞的CameraPosition
對象中找到新的縮放級別。
如果你正在尋找如何確定縮放級別,從以前的縮放級別改變,這裏是我建議:
定義一個實例變量來跟蹤先前的縮放級別:
//Initialize to a non-valid zoom value
private float previousZoomLevel = -1.0f;
此外,如果地圖縮放定義一個實例變量,讓你知道:
private boolean isZooming = false;
當你設置你的GoogleMap的實例,給它一個OnCameraC hangeListener ...
//mMap is an instance of GoogleMap
mMap.setOnCameraChangeListener(getCameraChangeListener());
現在,定義OnCameraChangeListener,來決定是否縮放級別已經改變:
public OnCameraChangeListener getCameraChangeListener()
{
return new OnCameraChangeListener()
{
@Override
public void onCameraChange(CameraPosition position)
{
Log.d("Zoom", "Zoom: " + position.zoom);
if(previousZoomLevel != position.zoom)
{
isZooming = true;
}
previousZoomLevel = position.zoom;
}
};
}
現在,你可以檢查isZooming的價值要知道,如果你正在改變縮放級別。
務必將
isZooming = false;
您完成後的任何行動依賴於知道,如果地圖被放大。
也可以作爲一個完美的拖拽監聽器。正是我想要通過到地圖中心的距離過濾標記視圖。謝謝!現在不推薦使用 –
。 –
由於以前的答案是根據OnCameraChangeListener
而這就是deprecated,這個答案是根據相機setOnCameraMoveListener
。
在此示例中,當用戶更改縮放(使用控件或手指並縮放)時,我正在更改Map Type。如果zoom level變化超過18.0,則地圖類型更改爲MAP_TYPE_HYBRIB
,如果它低於18.0,地圖類型更改爲MAP_TYPE_NORMAL
。
googleMap.setOnCameraMoveListener(new GoogleMap.OnCameraMoveListener() {
@Override
public void onCameraMove() {
CameraPosition cameraPosition = googleMap.getCameraPosition();
if(cameraPosition.zoom > 18.0) {
googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
} else {
googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
}
}
});
不錯!比OnCameraChangeListener更清潔。有趣的想法來改變地圖類型。 –
注意:對於每個縮放事件,此回調會觸發不少次 –
@SomeoneSomewhere是的。當用戶放大時,縮放的每個「階段」都會觸發。放大/縮小越慢,觸發聽衆的次數就越多。放大/縮小的速度越快,觸發的次數就越少。 –
- 1. 谷歌地圖的縮放級別遷移V2至V3
- 2. 在谷歌地圖android中動態設置縮放級別
- 3. 在谷歌Android地圖中自動設置縮放級別
- 4. 縮放級別 - 谷歌地圖,國家
- 5. 谷歌地圖半徑縮放級別
- 6. 谷歌地圖縮放級別
- 7. 谷歌地圖縮放更改監聽器api 2
- 8. 在縮放級別3的谷歌地圖中隱藏標記
- 9. 如何在wordpress中增加谷歌地圖的縮放級別
- 10. Overring在谷歌地圖的地圖縮放級別ExpressionEngine
- 11. 如何在谷歌地圖中設置縮放級別
- 12. 在谷歌地圖中設置自定義縮放級別
- 13. 谷歌地圖Android應用程序的更大縮放級別
- 14. 谷歌地圖上的kml文件中的縮放級別
- 15. Android地圖v2拖動監聽器
- 16. 如何解決谷歌地圖縮放級別問題android
- 17. Mvvmcross Android谷歌地圖,無法綁定縮放級別
- 18. 停止用戶從縮放級別縮小15地圖v2 android
- 19. 谷歌地圖覆蓋圖在某些縮放級別消失
- 20. 谷歌地圖api v2 Android沒有更新的位置監聽器
- 21. 谷歌地圖API - 事件監聽器
- 22. Android的谷歌地圖V2
- 23. 谷歌地圖V2在Android模擬器
- 24. Android的谷歌地圖API V2空白屏幕縮放控制
- 25. 在谷歌地圖上設置適當的縮放級別
- 26. Android谷歌地圖v2中的標記
- 27. Android谷歌地圖v2不能平移/縮放滑動/捏
- 28. 如何設置靜態縮放限制谷歌地圖V2 Android
- 29. 基於谷歌地圖V2縮放調整大小標記android
- 30. Android - 谷歌地圖api v2 - 禁用縮放控件
setOnCameraChangeListener現在已經過時 – Makalele
@CommonsWare如果我只想檢測放大onDoubleTap谷歌地圖上什麼?? –
@NirmalPrajapat:我不知道,對不起。 – CommonsWare