В GoogleMap android API v2, как мне получить текущий уровень масштабирования карты? В API v1 всегда был float MapView.getZoomLevel()
, но похоже, что в версии API, которую я использую, похоже, ничего подобного, и что Google рекомендует.Как получить текущий уровень масштабирования GoogleMap?
Я подумал об использовании переменной класса для сохранения уровня масштабирования вручную с помощью кнопки щелчка кнопки масштабирования, но это не решает проблему масштабирования типа пинча.
Зачем нужен текущий уровень масштабирования? Я ограничиваю диапазон карт определенным прямоугольником и хочу, чтобы какие-либо ходы, которые иначе оставили бы этот прямоугольник, оправились бы назад. Для этой анимации я должен использовать уровень масштабирования, так как без него используется максимальный уровень масштабирования по умолчанию. Я действительно хочу сохранить уровень масштабирования, используемый до попытки перемещения.
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
является то, что мне нужно определить.
(прошло некоторое время с тех пор, как я коснулся ее самого Android ..) –
Ничего себе, не ожидал получить зум непосредственно из класса (без методов)! – jhc
Рад, что я мог помочь :) Добро пожаловать в неработающие документы API для Android .. –