Pregunta

necesito para encontrar la ciudad y el estado de un código postal. ¿Alguien sabe un buen complemento / API que puedo utilizar para hacer esto?

¿Fue útil?

Solución

gem install geokit

En el IRB:

require 'geokit'
geo = GeoKit::Geocoders::MultiGeocoder.multi_geocoder('90210')
if geo.success
  geo.state # => CA
  geo.city  # => Beverly Hills
end

Otros consejos

Una opción más ligera es la Área joya .

require 'area'

'11211'.to_region #=> "Brooklyn, NY"

Véase la respuesta de Jason. Funciona muy bien.


El problema es que el USPS no permite descargas a granel de sus listas de código postal a menos que pagar por ello. API de Google, que se utiliza en la gema mencionado por Splashlin, ya no parece apoyar la ciudad y el estado, sino que ahora devuelve el código de área:

require 'open-uri'
require 'json'

json = JSON::parse(open('http://maps.google.com/maps/geo?q=852581').read)
puts json
# >> {"name"=>"852581", "Status"=>{"code"=>602, "request"=>"geocode"}}

Esta página muestra algunas maneras que usted puede rodar su propia. Las fuentes de los datos podrían no estar al corriente de que:

http://www.ruby-forum.com/topic/48815

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top