2010-09-06 27 views
1

J'ai une application où j'essaie d'obtenir l'adresse d'un emplacement basé sur la latitude, les coordonnées de longitude.When j'essaye d'imprimer toute l'adresse des coordonnées particulières , Je reçois seulement une adresse unique. Est-il possible d'obtenir la liste de toutes les adresses pour les coordonnées fournies. Mon extrait de code est comme ci-dessous:Comment obtenir des adresses si nous donnons la latitude et la longitude en utilisant l'API de localisation dans Android

Où locationLatitude, locationLongitude sont de type String qui sont convertis en doubles. L'adresse est une classe qui a getters et méthodes setters pour obtenir les détails de l'Etat, ville, pays, etc.

List<Address> addresses = geoCoder.getFromLocation(Double.parseDouble(locationLatitude), 
Double.parseDouble(locationLongitude), 1); 
StringBuffer addressAsString = new StringBuffer(""); 
if(!addresses.isEmpty()){ 
    for (int i = 0; i < addresses.get(0).getMaxAddressLineIndex(); i++) 
     addressAsString.append(addresses.get(0).getAddressLine(i) + "\n"); 
    return addressAsString.toString(); 
} 
+0

c'est un dup de http://stackoverflow.com/questions/3649401/how-to-get-addresses-if-we-give-latitude-and-longitude- using-location-api-in-andr –

Répondre

0

boucle à travers toutes vos adresses, et changer le troisième parameterof getFromLocation à 10 au lieu de 1 pour aller chercher les 10 environs emplacements au point géo donné:

List addresses = geoCoder.getFromLocation(Double .parseDouble(locationLatitude), Double.parseDouble(locationLongitude), 10); 

for (Address addr:List addresses) { 

    for (int i = 0; i < addr.getMaxAddressLineIndex(); i++) { 
    // your previous code here 
    } 
} 
+0

Thnksssssssssssss –

+0

Le problème avec ce code est, ce n'est pas l'État ou le pays qui l'accompagne, parfois la ville vient et parfois il doesn. quel est ce comportement? –