Comportamiento incorrecto con zoom en Google Maps de Android

Estoy teniendo un problema extraño con Google Maps para Android.

Todo funciona bien, pero cuando el usuario inicia la actividad con el mapa, quiero ampliar y colocar la cámara en una ubicación específica.

Este es mi código

LatLng l = new LatLng(40.446951,-3.693295); defaultPos = mapa.addMarker(new MarkerOptions().position(new LatLng(l.latitude, l.longitude)).icon(BitmapDescriptorFactory.defaultMarker((float) 250.0))); Log.d("mappoi","zoom to"); mapa.animateCamera(CameraUpdateFactory.zoomTo(17.0f)); mapa.animateCamera(CameraUpdateFactory.newLatLng(l)); 

Así que, como puedes ver, estoy creando un nuevo objeto LatLng y usándolo para crear un Marcador en el mapa, entonces quiero centrar la cámara en esa posición y acercarla.

No sé por qué, pero el zoom sólo funciona la primera vez que se ejecuta, por lo que cuando recién instalar mi aplicación funciona bien, pero si vuelvo y reiniciar la actividad, no hacer ningún zoom y mantiene el nivel de zoom por defecto, Incluso si cierro y recomiendo mi aplicación ya no funciona, solo si desinstalo y vuelvo a instalarlo funciona de nuevo, pero solo una vez.

No puedo imaginar lo que va mal, si funciona la primera vez ¿por qué no la siguiente?

Gracias por cualquier ayuda.

EDIT: Mi actividad se está matando cuando presiono el botón Atrás, por lo que onCreate se llama cada vez.

Gracias a gnuanu comentario por señalarme a:

¿Cómo mover directamente la cámara a la ubicación actual en Google Maps Android API v2?

La solución fue usar:

 CameraUpdateFactory.newLatLngZoom() 

en lugar de

 CameraUpdateFactory.zoomTo() CameraUpdateFactory.newLatLng() 

Tal vez newLatLng estaba cambiando el nivel de zoom.

No está claro de su pregunta que, en su actividad de donde ejecuta el código mencionado anteriormente. Supongo que está ejecutando el código de la función onCreate() . En ese caso, en lugar de presionar el botón "Atrás" para salir de la aplicación, intente matar la aplicación y vuelva a iniciarla y compruebe si funciona o no.

O si necesita el mapa para acercarse cada vez que inicie la actividad, mueva el código a la función onResume() de su actividad.

Debe mover su código (Cualquier código que manipule el mapa) al método de actividad onResume (). Entonces funcionará bien.

  • Cómo mostrar mapas en una aplicación de Android, si los servicios de Google Play no están instalados en un teléfono
  • Com.tools.fd.runtime.BootstrapApplication no se ejecutará a menos que actualice los servicios de Google Play
  • Android Maps error "No se pudo encontrar la clase 'android.app.AppOpsManager'"
  • ¿Cómo puedo recibir una notificación cuando el usuario presiona el botón Centro en mi ubicación en Google Maps v2 para Android API
  • ¿Cómo puedo mostrar el texto árabe en google map info-window?
  • El inicio de Backend para móviles subscribeToCloudMessage no funcionará
  • Android: activity_main no se puede resolver o no es un campo
  • Para mostrar el mapa de Google en el emulador
  • Error en Google Maps android "android Error al cargar el mapa. No se pudo contactar con los servidores de Google. "
  • Cambio de color de los marcadores - Google Map V2 Android
  • MapView onCreate lanza NullPointerException en dispositivos LG
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.