¿Cómo ajustar el nivel de zoom para ajustar el límite y, a continuación, el mapa del centro en marcador de desplazamiento?

Tengo un mapa de google (com.google.android.gms.maps.GoogleMap) donde tengo algunos marcadores fijados.

Puedo, por separado,

1) ajustar el nivel de zoom y centrar el mapa en un límite:

mMap.animateCamera(CameraUpdateFactory.newLatLngBounds(getZoomBounds(), 10)); 

y

2) centrar el mapa sobre uno de los marcadores:

 LatLng poiSelectedLatLng = new LatLng(markerSelected.getPosition().latitude + offset, markerSelected.getPosition().longitude); mMap.animateCamera(CameraUpdateFactory.newLatLng(poiSelectedLatLng)); 

Pero, para la vida de mí, no puedo hacer ambas cosas, ajustar el nivel de zoom usando newLatLngBounds y luego centrar el mapa en otro lugar. Todo lo que hago es lo que veo sucediendo en el mapa.

¿Cómo hago esto?

Pruebe a usar moveCamera y animateCamera

 mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(getZoomBounds(), 10)); LatLng poiSelectedLatLng = new LatLng(markerSelected.getPosition().latitude + offset, markerSelected.getPosition().longitude); mMap.animateCamera(CameraUpdateFactory.newLatLng(poiSelectedLatLng)); 

moveCamera se moverá directamente a ese lugar mientras animateCamera proporcionará el efecto de movimiento. Son lineales en la naturaleza así que uno sucederá después del otro sin embargo acodarlos como he hecho arriba proporcionará el efecto potencial que usted está buscando.

Si está tratando de ver el movimiento real de ambas llamadas en la interfaz de usuario, tendrá que registrarse para la devolución de llamada y completar la animación según sea necesario.

Para los futuros visitantes esto es cómo puede encadenar animaciones de cámara:

 map.animateCamera(CameraUpdateFactory.newLatLngBounds(getZoomBounds(), 10), 2000, new CancelableCallback() { @Override public void onFinish() { LatLng poiSelectedLatLng = new LatLng(markerSelected.getPosition().latitude + offset, markerSelected.getPosition().longitude); map.animateCamera(CameraUpdateFactory.newLatLng(poiSelectedLatLng)); } @Override public void onCancel() { } }); 

También vea AnimateCameraChainingExampleActivity.java para un ejemplo de cómo encadenar infinitamente.

  • Mapa no funciona después de instalar desde la tienda de juegos en android
  • Google maps api para la página de registro de android
  • API de Google Maps, ¿debo comprar?
  • Cómo implementar google maps búsqueda por dirección en Android?
  • Deshabilitar el botón de selección mientras selecciona la ubicación de la ubicación anónima mediante la opción Colocar selector google API en android
  • Dibujo libremente por los dedos en Google Map
  • Android Google Maps v2: ¿Cómo agregar un marcador con un fragmento de varias líneas?
  • ¿Existe una API para la navegación de Google Maps en Android?
  • Cómo cambiar el color del marcador cuando haga clic en marcador en android?
  • Cómo calcular el radio visible en Google Maps en Android
  • ¿Existe una funcionalidad como el método onFirstFix en el Android Maps Api V2?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.