Android toque en el mapa y obtenga coordenadas

Hola chicos Estoy tratando de hacer una aplicación que una vez que el usuario grifos en un mapa que obtiene las coordenadas de ese punto específico.

Entre otros, también he leído que: Obtener coordenadas en la toma de mapa en android

Parece que el post más relevante, pero lo que quiero hacer es poder tocar en cualquier parte del mapa no en un elemento marcador / superposición. De hecho, quiero crear un marcador en ese punto específico que el usuario pulsó y obtener las coordenadas de la misma.

¿Es eso posible?

Gracias

Micro

Sí. De hecho, la respuesta que le di a esa otra pregunta es lo que usted necesita.

Debe ser trivial con un poco de matemáticas. Puede utilizar getLatitudeSpan() y getLongitudeSpan() para obtener las extensiones del mapa visible y getMapCenter() para ver el punto central. Simplemente muéstrelo a las coordenadas del evento táctil.

EDIT: Mark, como siempre, tiene una solución aún más elegante.

Deberá sobrescribir onTouchEvent ().

Espero que siguiendo el código ayudará u … mostrando usando onTouchEvent () mientras que el usuario levanta su dedo del mapa …

Dadas las coordenadas de pantalla del toque, puedes usar una Proyección (de getProjection () en MapView) para convertirla a latitud y longitud …

 @Override public boolean onTouchEvent(MotionEvent event, MapView mapView) { GeoPoint point_touch; MapController map_controller=mapView.getController(); //---when user lifts his finger--- if (event.getAction() == event.ACTION_UP) { point_touch = mapView.getProjection().fromPixels((int) event.getX(),(int) event.getY()); Log.i("Cordinates","Lattitude="+point_touch.getLatitudeE6() / 1E6 +" Longitude="+point_touch.getLongitudeE6() /1E6 ); map_controller.animateTo(point_touch); return true; } else { return false; } } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.