2015-06-21 3 views
1

У меня есть почтовый индекс пользователя, который они ввели, и хотел бы предварительно заполнить несколько полей городом/состоянием. Кто-нибудь знает хороший способ получить эту информацию? Я хочу сделать что-то вроде этого:Rails Get State from ZIP Geoip

GeoIP.new('geoip/GeoLiteCity.dat').zip('53593') 

Я знаю, что я мог сделать GeoIP.new('geoip/GeoLiteCity.dat').city(request.remote_ip), но вот где они в то время, в отличие от, где они могут фактически жить.

+0

Ссылка на эту библиотеку? – Chloe

ответ

3

Я не думаю, что у geoip Ruby gem (Github repo) есть возможность поиска по почтовому индексу. При сканировании the geoip.rb source нет способа для zip или postal_code.

Существует другой драгоценный камень, my_zipcode_gem, который вы сможете использовать. Это также hosted on Github и имеет следующий синтаксис:

zipcode = Zipcode.find_by_code '66206' 
zipcode.state.abbr # => 'KS' 
zipcode.city   # => 'Shawnee Mission' 
zipcode.county.name # => 'Johnson' 
zipcode.lat.to_s  # => '38.959356', it is actually a BigDecimal object converted to_s for documentation. 
zipcode.lon.to_s  # => '-94.716155', ditto 
zipcode.is_geocoded? # => true, most if not all should be pre-geocoded.