I have 5 pins added to a map. ¿Cómo puedo decirle a MapView que amplíe tanto como sea posible y mantenga todos los pines a la vista?Android Map Zoom para mostrar todos los Pins
Respuesta
He utilizado este método en un reciente proyecto mío
public void centerOverlays() {
int minLat = 81 * MapStoresController.MAP_SCALE;
int maxLat = -81 * MapStoresController.MAP_SCALE;
int minLon = 181 * MapStoresController.MAP_SCALE;
int maxLon = -181 * MapStoresController.MAP_SCALE;
for (int i = 0; i < overlayItems.size(); i++) {
Store s = overlayItems.getItem(i).getStore();
minLat = (int) ((minLat > (s.getLocation().getLatitude() * MapStoresController.MAP_SCALE)) ? s.getLocation().getLatitude() * MapStoresController.MAP_SCALE : minLat);
maxLat = (int) ((maxLat < (s.getLocation().getLatitude() * MapStoresController.MAP_SCALE)) ? s.getLocation().getLatitude() * MapStoresController.MAP_SCALE : maxLat);
minLon = (int) ((minLon > (s.getLocation().getLongitude() * MapStoresController.MAP_SCALE)) ? s.getLocation().getLongitude() * MapStoresController.MAP_SCALE : minLon);
maxLon = (int) ((maxLon < (s.getLocation().getLongitude() * MapStoresController.MAP_SCALE)) ? .getLocation().getLongitude() * MapStoresController.MAP_SCALE : maxLon);
}
GeoPoint gp = controller.getUserLocation();
minLat = (minLat > gp.getLatitudeE6()) ? gp.getLatitudeE6() : minLat;
maxLat = (maxLat < gp.getLatitudeE6()) ? gp.getLatitudeE6() : maxLat;
minLon = (minLon > gp.getLongitudeE6()) ? gp.getLongitudeE6() : minLon;
maxLon = (maxLon < gp.getLongitudeE6()) ? gp.getLongitudeE6() : maxLon;
mapView.getController().zoomToSpan((maxLat - minLat), (maxLon - minLon));
mapView.getController().animateTo(new GeoPoint((maxLat + minLat)/2, (maxLon + minLon)/2));
}
Básicamente se encuentra a los límites de una caja y establece el objeto de la más cercana que abarca los límites
¿dónde se define MapStoresController? No puedo encontrar su referencia, ¿es parte de la API de Google Map? – ala
Es algo que implementé yo mismo. La propiedad MAP_SCALE se define como: public static final int MAP_SCALE = (int) 1E6; –
La solución de Schwiz 'a continuación es mucho mejor –
esto es mucho más fácil solución si está usando un ItemizedOverlay
public void fitOverlays() {
mMapView.getController().zoomToSpan(mItemizedOverlay.getLatSpanE6(), mItemizedOverlay.getLonSpanE6());
}
donde llamar a esta función? – Krishnabhadra
siempre que agregue más superposiciones, supongo, o si hay un botón de acercamiento para ajustar. Realmente es una pregunta de diseño que tienes. – schwiz
- 1. ¿Cómo establecer el nivel de zoom de Google Map para mostrar todos los marcadores?
- 2. iOS MKMapVer zoom para mostrar todos los marcadores
- 3. google map zoom after directions
- 4. AutoCompleteTextView forzar para mostrar todos los elementos
- 5. iPhone MKMapView: establece la región del mapa para mostrar todos los pines en el mapa
- 6. iOS MapKit pins personalizados
- 7. android: cómo cargar y mostrar imágenes de gran tamaño (tamaño A0), como lo hizo google map?
- 8. Google zoom para que se ajuste a todos los marcadores en esa página
- 9. Página web completa y metadato de viewport de zoom deshabilitado para todos los navegadores móviles
- 10. Cómo crear un círculo en google map v3 con el mismo radio en todos los niveles de zoom?
- 11. Android: ¿un manejador para todos los ejecutables?
- 12. Mostrar todos los fragmentos de yasnippet
- 13. Android MapView -configurando el zoom automáticamente hasta que todos los objetos detallados estén visibles
- 14. Botones de zoom personalizados Google Map API V3
- 15. google map controles de zoom que no se muestran correctamente
- 16. Mostrar siempre controles de zoom en un MapView
- 17. ocultar/mostrar todos los comentarios en xcode
- 18. Mostrar todos los archivos de manera predeterminada
- 19. Mostrar todos los nodos y las relaciones
- 20. android pellizcar zoom
- 21. Desactivar zoom con Openlayers
- 22. Google Map obtén los 10 puntos más cercanos de todos los marcadores en un mapa
- 23. jquery-ui-map cómo configurar el nivel de zoom
- 24. Implementando Pellizcar y Zoom en Android SurfaceView
- 25. Ajusta automáticamente el zoom para acomodar todos los marcadores en un mapa de google
- 26. En caso de zoom para google maps en android
- 27. ¿Son todos los permisos necesarios para PhoneGap en Android?
- 28. ¿Necesito 14 diseños diferentes para admitir todos los dispositivos Android?
- 29. Android: crea automáticamente variables para todos los ID en xml
- 30. Mostrar cierta ventana de información en Google Map API V3
El enlace está muerto. Por favor actualízalo. – JHHoang
eliminado el enlace muerto – Siddharth