255 votes

Comment faire pour obtenir l'adresse complète de la latitude et de la longitude?

Je souhaite obtenir des valeurs de Latitude et de Longitude dans android

  1. L'Adresse De La Rue
  2. Ville / État
  3. Zip
  4. Adresse Complète

Comment atteindre cet objectif?

590voto

user370305 Points 46287
Geocoder geocoder;
List<Address> addresses;
geocoder = new Geocoder(this, Locale.getDefault());
addresses = geocoder.getFromLocation(latitude, longitude, 1);

String address = addresses.get(0).getAddressLine(0);
String city = addresses.get(0).getAddressLine(1);
String country = addresses.get(0).getAddressLine(2);

71voto

Essayez ceci Mon ami

 private String getCompleteAddressString(double LATITUDE, double LONGITUDE) {
            String strAdd = "";
            Geocoder geocoder = new Geocoder(this, Locale.getDefault());
            try {
                List<Address> addresses = geocoder.getFromLocation(LATITUDE, LONGITUDE, 1);
                if (addresses != null) {
                    Address returnedAddress = addresses.get(0);
                    StringBuilder strReturnedAddress = new StringBuilder("");

                    for (int i = 0; i < returnedAddress.getMaxAddressLineIndex(); i++) {
                        strReturnedAddress.append(returnedAddress.getAddressLine(i)).append("\n");
                    }
                    strAdd = strReturnedAddress.toString();
                    Log.w("My Current loction address", "" + strReturnedAddress.toString());
                } else {
                    Log.w("My Current loction address", "No Address returned!");
                }
            } catch (Exception e) {
                e.printStackTrace();
                Log.w("My Current loction address", "Canont get Address!");
            }
            return strAdd;
        }

30voto

chiragkyada Points 360

Mais parfois, nous n'avons pas de ville dans la Ligne d'adresse 1 et le pays dans la Ligne 2...

Donc,

Geocoder geocoder = new Geocoder(mContext, Locale.getDefault());
List<Address> addresses  = geocoder.getFromLocation(latitude,longitude, 1);

String city = addresses.get(0).getLocality();
String state = addresses.get(0).getAdminArea();
String zip = addresses.get(0).getPostalCode();
String country = addresses.get(0).getCountryName();

6voto

MahdeTo Points 5066

Vous êtes à la recherche pour le terme de Géocodage.

La petite histoire c'est que vous devez faire:

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);

Pour ne plus vous devriez lire sur le Geocoder ici.

3voto

abbas.aniefa Points 1677

Utilisation GeoCoder pour obtenir une Adresse à partir de la Latitude et de la Longitude.

Vérifier : http://android-er.blogspot.in/2011/02/get-address-from-location-using.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X