2010-05-17 14 views
10

Comment convertir le code postal en nom de ville, existe-t-il une API disponible?Comment faire pour convertir le code postal en nom de ville, existe-t-il une API disponible?

+4

Je suis sûr que quelqu'un sera en mesure de suggérer quelque chose d'utile, mais attention: le mappage des codes postaux aux villes/t possède n'est pas un-à-un. Par exemple, 13209 couvre à la fois Syracuse et Solvay NY – Timothy

+0

Pour quel pays? –

+0

Salut, Merci Timothy, c'est vrai, ce qui complique le travail. Salut Greg, pour le monde entier. – Ling

Répondre

10

Vous avez besoin d'un service geocoding.


Yahoo's Geocoder API obtient de bien meilleurs résultats globalement.

110021 est le code postal pour New Delhi entre autres dans le monde.

This semble les avoir tous.


Google Maps API est un autre tel service, mais je ne suis pas satisfait des résultats géocodées que je ne reçois pas tous les résultats de retour pour 110021.

geocoder = new google.maps.Geocoder(); 
geocoder.geocode({ 'address': '110021'}, function(results, status) { 
    console.log(results); 
}); 
+0

Salut Anurag, Merci beaucoup pour cette information. En fait, je pense que votre deuxième réponse me donne la meilleure solution, car j'ai des informations longues/lat à portée de main, et je veux qu'ils soient convertis en ville/pays. J'espère que cela fonctionne bien. Merci, Ling – Ling

+0

@Ling, vous pouvez utiliser l'API Yahoo pour convertir lat/long en ville/pays. Voir le lien de la documentation pour voir ce que les paramètres d'entrée vous pouvez passer - http://developer.yahoo.com/maps/rest/V1/geocode.html – Anurag

+0

Merci à tous, je pense que Google API fonctionne pour moi. Bravo – Ling

0

Le US Post Office vend un abonnement à la carte 5 codes postaux chiffres à des valeurs Ville/de l'État. Comme le dit @ Timothy, la cartographie est un à plusieurs. Cependant, le bureau de poste db marque quelle ville/état est le «principal» pour un code postal donné.

Ne sait pas à l'autre pays. Vérifiez auprès de l'autorité postale de votre pays.

Voir http://www.usps.com/ncsc/addressinfo/citystate.htm

+0

Ces données sont disponibles sur CD-ROM et ne sont * pas * une API webservice. –

+1

Il semble que c'est un service gratuit maintenant: https://www.usps.com/business/web-tools-apis/address-information.htm – mjhm

19

Deux ans plus tard, l'OMI le Google Maps Geocoding API est la meilleure façon d'aller.

Il suffit de passer dans le code postal comme paramètre d'adresse:

http://maps.googleapis.com/maps/api/geocode/json?address=94043&sensor=false 
+0

Il est utile d'utiliser des composants ici - par exemple, si vous savez que vous cherchez pour un code postal aux États-Unis, vous pouvez faire: 'http: //maps.googleapis.com/maps/api/geocode/json? components = code postal: 94043 | pays: US' Cela le rend plus spécifique et peut aider à éliminer les indésirables résultats – billynoah

3

http://zipasaur.us/ est incroyable et gratuit. Je viens de le découvrir après avoir fait des recherches.

Il peut faire des recherches inversées comme vous demandez et plus encore. C'est gratuit et a une API JSON. Impressionnant!

[modifier] Il est en baisse maintenant et a été pendant un certain temps. Il était agréable pendant que ça durait bien :(

+0

zipasaur.us semble être de retour: http://api.zipasaur.us/zip/12345 – Steven

0

RedLine offre un service d'API de code postal gratuit (jusqu'à 250 demandes par heure) Il existe 4 variétés différentes couvrant les distances entre deux codes postaux, codes postaux dans un rayon d'un code postal, Ville, état et Lat/long d'un code postal et le code postal d'une ville http://zipcodedistanceapi.redline13.com/

0

Juste pour mettre dans mon .02, en utilisant l'API Google Maps mentionnée ci-dessus, vous pouvez rechercher des informations globales Je travaille actuellement sur un projet et je suis en train de le mettre en œuvre comme solution à ce problème Ok, hors de ma minuscule boîte à savon