2012-07-03 29 views
5

Así que estoy usando la API de GeoNames para obtener información sobre el país y el estado/provincia que estoy utilizando para completar selecciones desplegables en un formulario. Este formulario envía su información a un servicio web SOAP y el servidor SOAP solo entiende los datos de país y estado/provincia en forma de 2 letras. es decir. CA para Canadá, EE. UU. Para Estados Unidos. La API GeoNames proporciona esta información para los diferentes países, pero no para sus hijos (estados/provincias).obtener la abreviatura de estado/provincia de 2 letras

¿Alguien sabe cómo obtener la abreviación de 2 letras para un estado/provincia/territorio de GeoNames o hay otra API que pueda probar?

Respuesta

1

No estoy familiarizado con la API GeoNames, pero parece que está recibiendo los códigos alfa-2 del país ISO-3166: http://www.iso.org/iso/country_codes.htm

Si es así, la norma ISO 3166-2: 2007 define los estados y provincias. La página anterior describe cómo comprar la información en la base de datos y otros formatos.

A menos que sea un requisito para obtener esta información de un servicio web, creo que es más simple leer la lista desplegable de algún tipo de archivo estático y crear un mecanismo para actualizaciones ocasionales. Este tipo de datos no debería cambiar tan a menudo (bueno, en países estables al menos).

+0

Probablemente tenga razón, no necesito usar un servicio web para esto. –

2

De acuerdo con @ user640118, las abreviaturas de estado no cambian a menudo, si acaso, en América del Norte. Lo mejor sería tener una lista estática de códigos o abreviaturas.

Para responder a su pregunta, he trabajado en uno de esos servicios web llamado LiveAddress que proporciona datos geo/postales a través de un punto final REST simple. Sin embargo, es un poco más avanzado en el sentido de que acepta una dirección, parcial o completa, y la rellena completamente, la verifica y la estandariza. Puede encontrar que es valioso para eliminar duplicados y geocodificar los datos de sus usuarios.

Si usted tiene una dirección, puede utilizar this wrapper function como tal, en Javascript:

LiveAddress.verify("123 main st 12345", function(results) { 
    console.log(results); 
}); 

Salida de ejemplo se puede encontrar en los documentos de la API.

1

Geonames proporciona abreviaturas de 2 letras para países pero solo las tiene para estados en algunos países.

Por qué no proporcionan algo estándar (y útil) ya que me supera.

Cuestiones relacionadas