郵便番号から市と州を見つける必要があります。これを行うために使用できる優れたプラグイン/APIを知っている人はいますか?
4846 次
3 に答える
19
gem install geokit
IRB では:
require 'geokit'
geo = GeoKit::Geocoders::MultiGeocoder.multi_geocoder('90210')
if geo.success
geo.state # => CA
geo.city # => Beverly Hills
end
于 2010-10-14T20:00:04.773 に答える
7
より軽量なオプションはArea gemです。
require 'area'
'11211'.to_region #=> "Brooklyn, NY"
于 2012-06-28T00:49:10.990 に答える
0
ジェイソンの答えを見てください。それはうまく機能します。
問題は、USPS が、料金を支払わない限り、郵便番号リストの一括ダウンロードを許可していないことです。Splashlin が言及した gem で使用されている Google の API は、市と州をサポートしていないようで、代わりに市外局番を返すようになりました。
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"}}
このページでは、独自の方法をいくつか紹介します。ただし、データのソースは最新ではない可能性があります。
于 2010-10-14T19:51:03.107 に答える