Cómo obtener la ubicación de Google Map después de soltar Pin sobre ella
Estoy tratando de obtener la ubicación de GoogleMap con ImageView sobre ella. Puedo arrastrar esta imagen de pin y la posición donde la dejo caer, debo conseguir su localización.
Estoy usando framelayout con googleMap como su primer hijo y ImageView (es decir Pin) como su segundo elemento hijo.
- Solicitando actualización de una sola ubicación, AVD se bloquea
- Cómo obtener el número de satélites del objeto Ubicación
- ¿Cómo puedo obtener la ubicación GPS actual mediante programación en Android?
- No se encontraron clases de API selectiva de Google Play Services
- Cómo serializar para la clase android.location?
Lo mismo que tenemos en la aplicación Google Maps.
.
Por favor, sugerirme, ¿cómo lograrlo?
Mi archivo de diseño:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <fragment android:id="@+id/fetchaddressMap" android:layout_width="wrap_content" android:layout_height="wrap_content" class="com.google.android.gms.maps.MapFragment" /> <ImageButton android:id="@+id/markerRed" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@android:color/transparent" android:contentDescription="@string/content_description" android:src="@drawable/marker_red" android:visibility="visible" /> </FrameLayout>
- Mapview NullPointerException android
- Intervalo de actualización en requestLocationUpdates
- Cómo simular la conducción de una ruta en el dispositivo real
- La API de localización de servicios de Google Play / setSmallestDisplacement no funciona
- Obtener latitud, longitud desde la dirección en Android
- Activar servicios de ubicación sin navegar a la página de configuración
- Android: Mock Location cambia de nuevo a Original después de unos segundos
- Hacer que el proveedor de ubicación fusionado LocationClient sea más fácil de usar
Supongo que rawY
puntos rawX
y rawY
la pantalla a través de un objeto MotionEvent
recibido en un OnTouchListener
.
Con esas 2 coordenadas puedes encontrar la ubicación en el mapa con la ayuda de una Projection
:
Projection projection = googleMap.getProjection(); Log.e("TAG", projection.fromScreenLocation(new Point(x, y)).toString());
Te recomendaría usar los marcadores que ya están incorporados en el Api de Google Maps, sólo tienes que establecer el marcador como arrastrable y agregar un oyente, las devoluciones de llamada te proporcionarán toda la información que necesitas. Más información en la documentación . También puede utilizar la biblioteca Utilidades de mapas de Android para definir marcadores personalizados.
Necesita implementar la clase OnMarkerDragListener. También puede obtener la dirección de la calle y otras informaciones. Lea los documentos.
http://developer.android.com/reference/android/location/Geocoder.html http://developer.android.com/reference/android/location/Address.html
mMap.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener() { @Override public void onMarkerDragStart(Marker marker) { } @Override public void onMarkerDrag(Marker marker) { } @Override public void onMarkerDragEnd(Marker marker) { marker.getPosition(); Geocoder geocoder; List<Address> addresses; geocoder = new Geocoder(MapsActivity.this, Locale.getDefault()); try { addresses = geocoder.getFromLocation(marker.getPosition().latitude, marker.getPosition().longitude, 1); String city = addresses.get(0).getAddressLine(1); Toast.makeText(MapsActivity.this, city, Toast.LENGTH_SHORT).show(); } catch (IOException e) { e.printStackTrace(); } } });
Usa las clavijas de android para una mejor y fácil implementación. Sin embargo, si desea utilizar alfileres de aduanas, entonces no necesita agregar esa imagen en la framelayout. Borre esa vista de imagen. Vea este enlace para ver cómo personalizar un marcador.
Espero que ayude.
- ¿Puede Android Studio convertir la secuencia de comandos de construcción de hormigas en la secuencia de comandos de gradle build?
- Instalación del nuevo Android studio Beta v.0.8.14