Android: Establecer el nivel de zoom en Google Maps para incluir todos los puntos marcadores

Estoy intentando establecer el nivel de zoom de Maps en android de tal manera que incluya todos los puntos de mi lista. Estoy usando código siguiente.

int minLatitude = Integer.MAX_VALUE; int maxLatitude = Integer.MIN_VALUE; int minLongitude = Integer.MAX_VALUE; int maxLongitude = Integer.MIN_VALUE; // Find the boundaries of the item set // item contains a list of GeoPoints for (GeoPoint item : items) { int lat = item.getLatitudeE6(); int lon = item.getLongitudeE6(); maxLatitude = Math.max(lat, maxLatitude); minLatitude = Math.min(lat, minLatitude); maxLongitude = Math.max(lon, maxLongitude); minLongitude = Math.min(lon, minLongitude); } objMapController.zoomToSpan( Math.abs(maxLatitude - minLatitude), Math.abs(maxLongitude - minLongitude)); 

Esto funciona a veces. Sin embargo, a veces algunos puntos no se muestran y necesito a continuación, Zoom Out para ver esos puntos. ¿Hay alguna forma de resolver este problema?

Otro enfoque con Android Map API v2:

 private void fixZoom() { List<LatLng> points = route.getPoints(); // route is instance of PolylineOptions LatLngBounds.Builder bc = new LatLngBounds.Builder(); for (LatLng item : points) { bc.include(item); } map.moveCamera(CameraUpdateFactory.newLatLngBounds(bc.build(), 50)); } 

Descubrí la respuesta yo mismo, el nivel de zoom era correcto. Necesito agregar código siguiente para mostrar todos los puntos en la pantalla.

 objMapController.animateTo(new GeoPoint( (maxLatitude + minLatitude)/2, (maxLongitude + minLongitude)/2 )); 

El punto central no estaba bien alineado creando problema para mí. Esto funciona.

Parte del problema podría ser que MIN_VALUE sigue siendo un número positivo, pero latitudes y longitudes pueden ser números negativos. Intente utilizar NEGATIVE_INFINITY en lugar de MIN_VALUE.

  • Referencia de mapa de bits desconocida publicada - Marcador de configuración en android
  • Android Google Map addMarker () muy lento al agregar 400 marcadores
  • ¿Cómo puedo utilizar Picasso para agregar icono a Marcador?
  • Android: error keytool en la línea de comandos al localizar debug.keystore
  • Android, ¿Cómo eliminar todos los marcadores de Google Map V2?
  • Acceso a GoogleMap desde fuera del hilo de la interfaz de usuario en Android
  • MapActivity: establece APIKey de forma programática
  • Cómo mostrar el icono parpadeando en el mapa de google
  • Cómo dibujar etiquetas únicas en overlayitem de mapview en android
  • Cómo mover el marcador a lo largo de la polilínea mediante google map
  • Establecer GoogleMapOptions para la subclase MapFragment
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.