¿Cómo encontrar la longitud y latitud de una ubicación en particular?

¿Cómo encontrar la longitud y la latitud de una ubicación particular?

el usuario ingresa la ubicación en el texto de edición y haga clic en el botón de búsqueda, luego la ubicación se muestra en el mapa de Google.

Usé el siguiente código para eso, pero esto es un error "Servicio no disponible"

Geocoder geoCoder = nuevo Geocoder (esto, Locale.getDefault ()); intente {dirección = geoCoder.getFromLocationName (txtlocation.getText (). toString (), 1) .get (0); double longi = address.getLongitude (); latitud doble = dirección.getLatitude (); System.out.println ("longitud: ---" + longi); System.out.println ("latitud: ---" + latitud); } catch (IOException e) {// TODO Bloque de captura generado automáticamente e.printStackTrace (); Toast.makeText (MapRouteActivity.this, e.toString (), Toast.LENGTH_LONG) .show (); }

preguntado el 06 de junio de 11 a las 06:06

¿Por qué no usas locationManager? -

En mi aplicación, utilicé locationmanager pero no se muestra aquí. -

Primero mire hacia el cielo nocturno y localice la estrella del norte ....;) -

2 Respuestas

tratar de usar

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);  Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); double longitude = location.getLongitude(); double latitude = location.getLatitude(); 

La llamada a getLastKnownLocation () no se bloquea, lo que significa que devolverá un valor nulo si no hay una posición disponible actualmente, por lo que probablemente desee echar un vistazo a pasar un LocationListener al método requestLocationUpdates () en su lugar, que le dará actualizaciones asincrónicas de su ubicación.

private final LocationListener locationListener = new LocationListener() {     public void onLocationChanged(Location location) {         longitude = location.getLongitude();         latitude = location.getLatitude();     } } 

lm.requestLocationUpdates(LocationManager.GPS, 2000, 10, locationListener); 

Deberá otorgar a su aplicación el permiso ACCESS_FINE_LOCATION si desea utilizar GPS.

También puede agregar el permiso ACCESS_COARSE_LOCATION para cuando el GPS no esté disponible y seleccionar su proveedor de ubicación con el método getBestProvider ().

Respondido el 06 de junio de 11 a las 18:06

prueba este código

public static String getLatLng(Context context,String addr){
    Geocoder geocoder = new Geocoder(context, Locale.getDefault());
    String add = "";
    try{
        List<Address> addresses = geocoder.getFromLocationName(addr, 5);

        for(int i=0;i<1;i++){
            Address obj = addresses.get(i);
            for(int j=0;j<obj.getMaxAddressLineIndex();j++){
                add = obj.getAddressLine(j);
                add = add + "\nCountryName " + obj.getCountryName();
                add = add + "\nCountryCode " + obj.getCountryCode();
                add = add + "\nAdminArea " + obj.getAdminArea();
                add = add + "\nPostalCode " + obj.getPostalCode();
                add = add + "\nSubAdminArea " + obj.getSubAdminArea();
                add = add + "\nFeatureName " + obj.getFeatureName();
                add = add + "\nLocality " + obj.getLocality();
                add = add + "\n" + obj.getSubThoroughfare();
                add = add + "\nurl " + obj.getUrl();
                add = add + "\nLatitude " + obj.getLatitude();
                add = add + "\nLongitude " + obj.getLongitude();
            }
            add = add+"\n";
        }

        Log.v("IGA", "Address" + add);

    }catch(Exception e){
        e.printStackTrace();
        add = e.toString();
    }
    return add;
}

Respondido el 06 de junio de 11 a las 10:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.