¿Cómo puedo obtener los valores de Latitud y Longitud de un lugar en particular que han hecho clic en el mapa en Android?

OriginalEl autor Praveen | 2010-12-15

3 Comentarios

  1. 13

    Para el clic largo, le sugiero que visite http://www.kind-kristiansen.no/2010/handling-longpresslongclick-in-mapactivity/. Esto va a entrar en detalle sobre cómo escuchar para largo haga clic en eventos dentro de la API de google Maps, ya que hay poca o ninguna funcionalidad integrada, que yo sepa.

    Como para la lat/lng código, después de obtener la larga haga clic en traducir los píxeles a coordenadas.

    public void recieveLongClick(MotionEvent ev)
    {
        Projection p = mapView.getProjection();
        GeoPoint geoPoint = p.fromPixels((int) ev.getX(), (int) ev.getY());
        //You can now pull lat/lng from geoPoint
    }
    El enlace en esta respuesta los puntos a un post del blog que escribí hace un tiempo. Acabo de escribir un nuevo post con una solución que es más limpio y funciona mejor. Podría ser de interés: tipo-kristiansen.no/2011/…

    OriginalEl autor Vetsin

  2. 4

    Tendrás que administrar la LongClick evento y, a continuación, utilizar el código para averiguar la longitud y la latitud con el siguiente código:

    GeoPoint geoPoint=mapView.getProjection().fromPixels((int)event.getX(),(int)event.getY());
    int latitude = geoPoint.getLatitudeE6();
    int longitude = geoPoint.getLongitudeE6();

    donde «evento» es el objeto de ‘MotionEvent’.

    El uso de cualquier otro tipo de evento de acuerdo a su caso.

    OriginalEl autor Aman Alam

  3. 0

    Da la latitud y la longitud en que punto del mapa haga clic en

    map.setOnMapClickListener(new OnMapClickListener() {
    
            @Override
            public void onMapClick(LatLng point) {
                //myMap.addMarker(new MarkerOptions().position(point).title(point.toString()));
    
                  //The code below demonstrate how to convert between LatLng and Location
    
                  //Convert LatLng to Location
                  Location location = new Location("Test");
                  location.setLatitude(point.latitude);
                  location.setLongitude(point.longitude);
                  location.setTime(new Date().getTime()); //Set time as current Date
                  txtinfo.setText(location.toString());
    
                  //Convert Location to LatLng
                  LatLng newLatLng = new LatLng(location.getLatitude(), location.getLongitude());
    
                  MarkerOptions markerOptions = new MarkerOptions()
                           .position(newLatLng)
                           .title(newLatLng.toString());
    
                  map.addMarker(markerOptions);
    
            }
        });

    OriginalEl autor SAndroidD

Dejar respuesta

Please enter your comment!
Please enter your name here