2013-02-14 13 views
21

Na GoogleMap android API v2, w jaki sposób uzyskać aktualny poziom powiększenia mapy? Na interfejsie API v1 było kiedyś float MapView.getZoomLevel(), ale wydaje się, że nie ma w nim nic podobnego w wersji interfejsu API, której używam, i którą Google zaleca.Jak uzyskać aktualny poziom powiększenia GoogleMap?

Pomyślałem o użyciu zmiennej klasy, aby zapisać poziom powiększenia ręcznie za pomocą przycisku nasłuchu z przyciskiem powiększania, ale nie rozwiązuje to problemu z powiększaniem typu "szczypta".

Dlaczego potrzebuję bieżącego poziomu powiększenia? Ograniczam zasięg mapy do pewnego prostokąta i chcę, aby jakiekolwiek ruchy, które w przeciwnym razie opuściłyby ten prostokąt, odbijały się. Ta animacja wymaga użycia poziomu powiększenia, ponieważ bez niego używany jest domyślny maksymalny poziom powiększenia. Tym, czego naprawdę chcę, jest utrzymanie poziomu powiększenia przed próbą przeniesienia.

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; 
    } 
} 

Zauważ, że zmienna current_zoom jest to, czego potrzebuję do zdefiniowania.

Odpowiedz

67

Dla Androida, spróbuj coraz aktualny CameraPosition, a uzyskanie zoom od tego.
wierzę to:

map.getCameraPosition().zoom 
+0

(minęło trochę czasu odkąd dotknąłem go na samym systemie Android). –

+0

Wow, nie spodziewałem się uzyskać zoom bezpośrednio z klasy (bez metod)! – jhc

+3

Cieszę się, że mogę pomóc :) Witamy w nieużytecznych dokumentach API Androida. –

-5

To powinno być (na v2 API)

map.getZoom(); 

Jeśli nie, spróbuj document.getElementById("zoom").innerHTML

+0

sama uwaga jak wyżej, to odpowiedź byłaby w porządku dla JavaScript, ale używam Google Maps API v2 dla Androida. – jhc

+0

Tak, nie zdawałem sobie sprawy, że to też jest dla Androida. –

+1

Whoops :) Przepraszam ... Tęskniłem za częścią ANDROID samemu –

Powiązane problemy