Geocoder getFromLocation() not null, mais a une taille de 0 toujours
Je suis en train de récupérer mon adresse de l'emplacement à l'aide de l'API Google v2.
Voici ce que je fais:
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = null;
String addressText = "";
try {
while (addresses==null){
addresses = geocoder.getFromLocation(userLocation.latitude,
userLocation.longitude, 1);
}
if (addresses != null && addresses.size() > 0) {
Address address = addresses.get(0);
addressText = String.format(
"%s, %s, %s",
address.getMaxAddressLineIndex() > 0 ? address
.getAddressLine(0) : "", address
.getLocality(), address.getCountryName());
}
} catch (IOException e) {
e.printStackTrace();
}
J'ai lu plusieurs posts et a constaté que la getFromLocation() demande n'est pas toujours récupérer un résultat. J'ai donc essayé de boucle.
Cela ne tombe pas en panne mais addressText est toujours "le", des idées pourquoi?
INTERNET autorisations ont été donné à mon application. Je n'utilise pas le GPS.
userLocation n'est pas nulle, donc ce n'est pas le problème, je l'utilise que pour ajouter un marqueur sur la carte et il fonctionne très bien. Il semble y avoir un problème avec le geocoder strictement.
Avez-vous essayé d'augmenter le nombre de résultats? par exemple,
Nan, malheureusement cela ne fonctionne pas. mais merci pour votre réponse rapide:)
addresses = geocoder.getFromLocation(userLocation.latitude, userLocation.longitude, 10);
Techniquement cela ne devrait pas d'importance, juste un "intérêt"!Nan, malheureusement cela ne fonctionne pas. mais merci pour votre réponse rapide:)
OriginalL'auteur Adrian Olar | 2013-07-31
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir une adresse par deux méthode
1. À L'Aide De Geocoder
2. À l'aide de l'API Google
Vous pouvez obtenir votre solution à partir de ce lien. Il a deux solution. Visitez ma réponse pour API Google solution.
L'adresse à l'aide de la latitude et de la longitude
son format JSON l'Analyse de classe. Il retourne du JSON en Objet à partir de l'url donnée.
toutes les spéciales d'importation pour qui? Je ne le trouve pas...
Pas de de son fond de classe à travers lequel vous lire et analyser chaîne json et le convertir en JSONObject. J'ai mis à jour ma réponse à cette question et a ajouté json_parser classe. Vous pouvez l'obtenir à partir de là.
merci, j'ai essayé votre solution mais toujours aucune adresse n'est indiquée, rien nulle mais "". peut-être il ya un problème avec la façon dont je passe les coordonnées, je vais regarder plus en que les. merci!
OriginalL'auteur Vipul Purohit
J'ai réussi à résoudre ce... mon code a été lancer une exception de service n'est pas disponible sur getFromLocation().
De détails peuvent être trouvés ici: https://code.google.com/p/android/issues/detail?id=38009
J'ai redémarré mon appareil et il fonctionne très bien maintenant. Merci à tous pour votre aide!
OriginalL'auteur Adrian Olar
Gars de vérifier si vous n'avez pas échangé vos lat et longs 😀 j'ai gardé de demander une adresse dans le milieu de l'océan Atlantique et il m'a fallu environ 3 heures à réaliser.
Aussi avec l'émulateur GPS vous avez besoin pour lancer Google Maps au moins une fois j'ai trouvé, pour initialiser le jeu des services de localisation des trucs.
OriginalL'auteur Daniel Wilson
ESSAYEZ de Redémarrer l'Appareil!
Mon code a été s'écraser sur le geocoder.getFromLocation(lat, lng, 1); et provoquant (IOException e)
Cependant, après avoir essayé de nombreuses autorisations, modifications de code, etc, j'ai tout simplement allumé/éteint mon téléphone samsung et cela a fonctionné... j'ai pensé Linux kernel était censé être mieux que windows, c'est à dire ne pas avoir besoin de redémarrer??
OriginalL'auteur nneenh