2010-05-17 19 views
10

Cómo convertir el código postal al nombre de la ciudad, ¿hay una API disponible?¿Cómo convertir el código postal al nombre de la ciudad, hay una API disponible?

+4

Estoy seguro de que alguien podrá sugerir algo útil, pero tenga cuidado. El mapeo de los códigos postales a las ciudades/t posee no es uno a uno. Por ejemplo, 13209 cubre tanto Syracuse como Solvay NY – Timothy

+0

¿Para qué país? –

+0

HI, gracias Timothy, eso es muy cierto, lo que complica el trabajo. Hola Greg, para el mundo. – Ling

Respuesta

10

Necesita un servicio que no sea geocoding.


Yahoo's Geocoder API está obteniendo resultados mucho mejores a nivel mundial.

110021 es el código postal para New Delhi entre varios otros lugares en el mundo.

This parece que los tiene todos.


Google Maps API es otro ejemplo de servicio, pero no estoy feliz con los resultados geocodificadas como no consigo todos los resultados de vuelta para 110021.

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

Hola Anurag, muchas gracias por esa información. En realidad, creo que su segunda respuesta me da la mejor solución, porque tengo a mano información larga/lat, y quiero que se conviertan a Ciudad/País. Espero que funcione bien. Gracias, Ling – Ling

+0

@Ling, puede usar la API de Yahoo para convertir lat/long a una ciudad/país también. Consulte el enlace de documentación para ver qué parámetros de entrada puede aprobar: http://developer.yahoo.com/maps/rest/V1/geocode.html – Anurag

+0

Gracias a todos, creo que la API de Google funciona para mí. Cheers – Ling

0

La Oficina de correos de los EE. UU. Vende una suscripción para mapear códigos postales de 5 dígitos a valores de ciudad/estado. Como dice @Timothy, el mapeo es uno para muchos. Sin embargo, la oficina postal db marca qué ciudad/estado es la "principal" para un código postal dado.

No sé de otros países. Verifique con la autoridad postal de su país.

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

+0

Esta información está disponible en CDROM y * no * es una API de servicio web. –

+1

Parece que este es un servicio gratuito ahora: https://www.usps.com/business/web-tools-apis/address-information.htm – mjhm

19

Dos años más tarde, la OMI la Google Maps Geocoding API es el mejor camino a seguir.

sólo tiene que pasar en el código postal como el parámetro de dirección:

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

Es útil usar componentes aquí, por ejemplo, si sabe que está buscando para un código postal en los Estados Unidos, puede hacer: 'http: //maps.googleapis.com/maps/api/geocode/json? components = postal_code: 94043 | country: US' Esto lo hace más específico y puede ayudar a eliminar los no deseados resultados – billynoah

3

http://zipasaur.us/ es increíble y libre. Acabo de descubrirlo después de bastante búsqueda.

Puede realizar búsquedas inversas como usted las solicita y más. Es gratis y tiene una API JSON. ¡Increíble!

[editar] Ya no funciona y lo hace bastante tiempo. Aunque fue bueno mientras duró :(

+0

zipasaur.us parece estar de vuelta: http://api.zipasaur.us/zip/12345 – Steven

0

RedLine ofrece un servicio API de código postal gratuito (hasta 250 solicitudes por hora). Hay 4 variedades diferentes que cubren distancias entre dos códigos postales, códigos postales dentro de un radio de un código postal, Ciudad, estado y latitud/longitud de un código postal y el código postal de una ciudad http://zipcodedistanceapi.redline13.com/

0

Solo para poner en mi .02, utilizando la API de Google Maps mencionada anteriormente, puede buscar información global. Actualmente estoy trabajando en un proyecto y estoy prácticamente implementándolo como mi solución para este problema. Bien, desde mi pequeña caja de jabón

Cuestiones relacionadas