Подтвердить что ты не робот

Как получить текущий уровень масштабирования GoogleMap?

В GoogleMap android API v2, как мне получить текущий уровень масштабирования карты? В API v1 раньше был float MapView.getZoomLevel(), но похоже, что в версии API, которую я использую, нет ничего подобного и что рекомендует 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 - это то, что мне нужно определить.

4b9b3361

Ответ 1

Для Android попробуйте получить текущий CameraPosition и получить масштаб от этого.
Я считаю, что это:

map.getCameraPosition().zoom

Ответ 2

Это должно быть (по API v2)

map.getZoom(); 

Если нет, попробуйте document.getElementById("zoom").innerHTML