Cómo obtener el centro del mapa para v2 android mapas?
En Google Maps para Android v1 , MapView tenía un método de conveniencia: getMapCenter()
. Ahora no puedo averiguar cómo obtener el centro del mapa con v2 de este api. He examinado la documentación de la API, pero no hay mención de tal característica. Por favor avise.
Gracias, Igor
- ¿Cómo obtener la ubicación actual de este código de mapa? También intento recibir datos del vehículo del servidor cuando estoy abierto el mapa
- La aplicación sigue fallando al utilizar Google API V2
- saltando la ubicación en google maps por gps. (distancia imprecisa)
- Mostrar el archivo kml con Google Maps Android API v2 sin analizar
- Clip o quitar una parte de la polilínea google maps v2
- Androide Zoom-a-Fit Todos los marcadores en Google Map v2
- Dibujo de las fronteras nacionales como polígonos
- Encuentra el restaurante más cercano, cafetería y supermercado usando google maps en android
- Cómo obtener la ubicación del centro de la pantalla de google map?
- Error de error de autorización de Google
- ¿Cómo puedo incluir la capa de tráfico de google maps?
- Buscar ruta con Androids API de Google Maps
- La API de Google Maps v2 no funciona
Yo tuve el mismo problema. Parece que puedes conseguir el centro de esta manera:
mMap.getCameraPosition().target
Donde mMap es la instancia de GoogleMap de su actividad. Esto devolverá un objeto LatLng que básicamente representa el centro del mapa.
Tenga en cuenta que la clase GeoPoint
ya no está disponible.
Según http://developer.android.com/reference/com/google/android/gms/maps/model/CameraPosition.html
Target es "La ubicación a la que está apuntando la cámara". (Lo probé con el código de la muestra y funcionó bien para mí)
He encontrado dos maneras de hacer esto:
1) El más fácil, El primero está utilizando la propiedad de destino en el objeto CameraPosition del mapa
LatLng center = mMap.getCameraPosition().target;
2) El segundo es usar un objeto VisibleRegion:
VisibleRegion visibleRegion = mMap.getProjection() .getVisibleRegion(); Point x = mMap.getProjection().toScreenLocation( visibleRegion.farRight); Point y = mMap.getProjection().toScreenLocation( visibleRegion.nearLeft); Point centerPoint = new Point(xx / 2, yy / 2); LatLng centerFromPoint = mMap.getProjection().fromScreenLocation( centerPoint);
He comparado ambas respuestas:
Log.d("MapFragment: ", "Center From camera: Long: " + center.longitude + " Lat" + center.latitude); Log.d("Punto x", "x:" + xx + "y:" + xy); Log.d("Punto y", "y:" + yx + "y:" + yy); Log.d("MapFragment: ", "Center From Point: Long: " + centerFromPoint.longitude + " Lat" + centerFromPoint.latitude);
Para obtener el centro del mapa He utilizado el método onMapReady () en la actividad, a continuación, utiliza el googleMap.setOnCameraChangeListener() method to get position of Came
:
@Override public void onMapReady(GoogleMap googMap) { googleMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() { @Override public void onCameraChange(CameraPosition cameraPosition) { Log.i("centerLat",cameraPosition.target.latitude); Log.i("centerLong",cameraPosition.target.longitude); } }); }
Puede utilizar: latlng = map.getProjection (). GetVisibleRegion (). LatLngBounds.getCenter ();
- ¿Cómo pasar el evento onClick a su padre en Android?
- Botón de edición de líneas múltiples con la acción Hecho