2013-02-14 3 views
21

В 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 является то, что мне нужно определить.

ответ

67

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

map.getCameraPosition().zoom 
+0

(прошло некоторое время с тех пор, как я коснулся ее самого Android ..) –

+0

Ничего себе, не ожидал получить зум непосредственно из класса (без методов)! – jhc

+3

Рад, что я мог помочь :) Добро пожаловать в неработающие документы API для Android .. –

-5

Оно должно быть (на v2 API)

map.getZoom(); 

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

+0

же комментарий, как указано выше, этот ответ будет нормально для JavaScript, но я использую Google Maps API v2 для андроида. – jhc

+0

Да, я не понимал, что это тоже для андроида. –

+1

Упс :) Извините ... Я сам пропустил часть ANDROID –

Смежные вопросы