Google Maps V2-Android-получить текущий уровень масштабирования
Как получить текущий уровень масштабирования в виде целого числа на карте GoogleMap. Мне нужно взять этот код из GMaps v1. 1:
MapView mGoogleMapView;
int zoomLevel = mGoogleMapView.getZoomLevel();
Я знаю о методах getMinZoomLevel () и getMaxZoomLevel (), однако я не могу найти ничего в документации Android GMap V2, что даст текущий уровень масштабирования. У кого-нибудь есть указания, как это сделать?
Любая помощь будет признательна.
3 ответа:
Я думаю, что OnCameraChangeListener сделает трюк..
map.setOnCameraChangeListener(new OnCameraChangeListener() { private float currentZoom = -1; @Override public void onCameraChange(CameraPosition position) { if (position.zoom != currentZoom){ currentZoom = position.zoom; // here you get zoom level } } });
Обновление:
Из сервиса Google Play 9.4.0 OnCameraChangeListener устарел и в ближайшее время больше не будет работать.Поочередно они заменяются на OnCameraMoveStartedListener,OnCameraMoveListener,OnCameraMoveCanceledListener иOnCameraIdleListener .
Следовательно, мы можем использовать OnCameraIdleListener здесь, чтобы получить камеру текущий уровень масштабирования.
Пример Кода:
map.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() { @Override public void onCameraIdle() { int zoomLevel = map.getCameraPosition().zoom; //use zoomLevel value.. } });
Вызов
getCameraPosition()
на улицеGoogleMap
, и считайте полеzoom
результирующегоCameraPosition
Объект .