2008-10-01 6 views
22

J'ai vu qu'il est possible d'obtenir la latitude et la longitude (géocodage, comme dans Google Maps API) à partir d'une adresse, mais est-il possible de faire l'inverse et obtenir l'adresse vous savez ce que le lat/long est déjà? L'application serait une application iPhone (et pourquoi l'application connaît déjà lat/long), donc tout ce qui va d'un service web à une API iPhone fonctionnerait.Obtenir l'adresse à la paire lat/long

+0

Les réponses à cette question peuvent vous aider: http://stackoverflow.com/questions/30962/finding-city-and-zip-code-for-a-location –

Répondre

7

Ceci est appelé "géocodage inverse", et il n'existe des services Web qui fournira cette fonctionnalité.

Je conseille vivement de se méfier de la qualité, mise à l'échelle et la fiabilité des services gratuits, mais voici un endroit pour commencer: http://www.geonames.org/export/reverse-geocoding.html

14

Google prend désormais en charge le géocodage inverse dans les deux API JavaScript et webservice via HTTP. Demande ressemble à ceci:

http://maps.google.com/maps/geo?output=xml&oe=utf-8&ll=LAT,LON&key=API_KEY 

Remarque, vous devez changer LAT à la latitude, la longitude et LON à api_key vous être Google Maps clé API. retour de service résultats sur les pays qui géocodage marqués comme OUI dans une feuille de calcul suivante:

http://gmaps-samples.googlecode.com/svn/trunk/mapcoverage_filtered.html

Plus d'informations devraient être trouvées rapidement de la documentation officielle:

http://code.google.com/apis/maps/documentation/services.html#Geocoding_Direct

+0

Merci d'être revenu et de l'avoir posté. Je viens de l'essayer avec ma clé API et cela fonctionne comme un charme. –

+0

Est-ce que ça fonctionne encore? –

2

iPhone OS 3.0 a maintenant la classe MKReverseGeocoder pour précisément dans ce but.

+0

Remarque: Cette classe est obsolète dans iOS 5.0. Utilisez la classe [CLGeocoder] (http://developer.apple.com/library/ios/#documentation/CoreLocation/Reference/CLGeocoder_class/Reference/Reference.html#//apple_ref/occ/cl/CLGeocoder) à la place. –

+1

@ Rónán: Pouvez-vous ajouter une nouvelle réponse avec des détails sur 'CLGeocoder'? Cette question et des questions similaires sont évidemment très populaires ... – sarnold

0

Vous pouvez également utiliser la bibliothèque LINK REMOVED à cette fin. MKReverseGeocoder est sympa mais cela nécessite de l'utiliser avec une carte Google. A partir de la documentation de référence MKReverseGeocoder:

Les conditions d'utilisation de Google exigent que le service de géocodage inversé soit utilisé conjointement avec une carte Google. Tenez-en compte lors de la conception de l'interface utilisateur de votre application.

SSLocationManager pourrait être une alternative dans le cas où votre demande ne pas utiliser une carte Google Map mais juste besoin d'accéder à des informations détaillées sur l'emplacement actuel ayant seulement la latitude et la longitude des données à portée de main. Il utilise Yahoo! API PlaceFinder. J'espère que cela t'aides.

Questions connexes