setminzoompreference - zoom google maps android api
¿Cómo obtener el nivel de zoom de GoogleMap actual? (2)
En GoogleMap android API v2, ¿cómo obtengo el nivel de zoom del mapa actual? En API v1, solía haber float MapView.getZoomLevel()
, pero parece que no hay nada similar en la versión de API que estoy usando, y que recomienda Google.
He pensado en usar una variable de clase para guardar el nivel de zoom manualmente a través de un botón de zoom, haga clic en oyente, pero esto no resuelve el problema del zoom de tipo pellizco.
¿Por qué necesito el nivel de zoom actual? Estoy restringiendo el rango del mapa a un cierto rectángulo y quiero que cualquier movimiento que de otra forma salga de este rectángulo, rebote. Esta animación requiere que use un nivel de zoom, ya que sin él, se utiliza el nivel máximo de zoom predeterminado. Lo que realmente quiero es mantener el nivel de zoom utilizado antes del intento de movimiento.
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;
}
}
Tenga en cuenta que la variable current_zoom
es lo que necesito definir.
Debería ser (en v2 API)
map.getZoom();
Si no, intente document.getElementById("zoom").innerHTML
Para Android, intente obtener la CameraPosition actual y obtener el zoom de eso.
Yo creo que es:
map.getCameraPosition().zoom