Frage

Ich brauche die Stadt und den Staat von einer Postleitzahl zu finden. Hat jemand ein gutes Plugin / API weiß, dass ich dies tun können?

War es hilfreich?

Lösung

gem install geokit

Im IRB:

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

Andere Tipps

Eine leichtere Option ist das Gebiet gem .

require 'area'

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

Siehe Jasons Antwort. Es funktioniert gut.


Das Problem ist, dass der USPS nicht Bulk-Downloads ihrer Zip-Code-Listen erlauben, wenn Sie dafür bezahlen. Google-API, die in der Perle von Splashlin erwähnt verwendet wird, scheint nicht mehr die Stadt und den Staat zu unterstützen, sondern es gibt jetzt die Ortsnetzkennzahl:

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"}}

Diese Seite zeigt einige Möglichkeiten, wie Sie Ihre eigene Rolle könnte. Die Quellen der Daten möglicherweise nicht aktuell aber:

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top