Android Maps – el método animateCamera () no funciona correctamente

Problema:

1) Mapa obteniendo animado para llegar a la ubicación requerida (4ª línea en código) pero se amplió a la ubicación por defecto (5ª línea en código)

[Dejando el mapa en la ubicación predeterminada en el nivel de zoom especificado]

2) Entiendo por qué está ocurriendo el problema, pero no sé cómo resolverlo.

3) Si cambio la 4ta línea a moveCamera en vez de animateCamera que trabajará, pero quiero el método de animateCamera ().

Aquí está el código:

map=((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap(); MarkerOptions options=new MarkerOptions().position(new LatLng(13.0810,80.2740)); map.addMarker(options); map.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(13.0810,80.2740)),4000,null); map.animateCamera(CameraUpdateFactory.zoomTo(15.5f),2000,null); 

El problema es que usted llama al zoom justo después de comenzar a animar a la nueva ubicación. Es por eso que solo reemplaza la última acción de actualización de la cámara con la nueva.

Simplemente puede resolverse creando una acción de actualización de cámara más precisa (que incluya tanto el cambio de latlng como el cambio de nivel de zoom):

 CameraPosition newCamPos = new CameraPosition(new LatLng(13.0810,80.2740), 15.5f, map.getCameraPosition().tilt, //use old tilt map.getCameraPosition().bearing); //use old bearing map.animateCamera(CameraUpdateFactory.newCameraPosition(newCamPos), 4000, null); 

ALTERNATIVAMENTE, como se ha señalado por MaciejGórski, sólo puede utilizar la interfaz newLatLngZoom que incluye tanto LatLng como el cambio de zoom :

 map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(13.0810,80.2740), 15.5f), 4000, null); 

Utilice animateCamera con la primera animateCamera y llame a la segunda animateCamera en onFinish .

Ejemplo: AnimateCameraChainingExampleActivity.java

  • ¿Cómo utilizar google map V2 dentro de fragmento?
  • GooglePlayServicesUtil.getErrorDialog es nulo
  • Configurar Google Maps API v2 en android, Error al inflar el fragmento de clase
  • Google Maps Android API v2, cómo eliminar las polilíneas del mapa?
  • TileProvider método getTile - necesita traducir xyy a lat / long
  • Android: java.lang.NoClassDefFoundError: com.google.android.gms.R $ styleable
  • Maps api v2 android Mi ubicación no funciona en 2.3.3
  • Cómo animar marcador en el mapa android api V2?
  • PlaceAutoCompleteFragment en android no muestra sugerencias y se cierra después de ingresar la primera letra
  • Android: Google map api versión 2
  • Consulta de MapActivity para el hospital / restaurante más cercano que no funciona
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.