15

郵便番号から市と州を見つける必要があります。これを行うために使用できる優れたプラグイン/APIを知っている人はいますか?

4

3 に答える 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"}}

このページでは、独自の方法をいくつか紹介します。ただし、データのソースは最新ではない可能性があります。

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

于 2010-10-14T19:51:03.107 に答える