Rails geocoder gem找到城市

时间:2018-05-16 20:21:45

标签: ruby-on-rails rails-geocoder

我正在尝试找到用户的城市,现在我可以看到我的控制器中的地址方法正常工作

def your_location
  Geocoder.address(request.remote_ip)
end

但我无法弄清楚如何找到用户城市。

1 个答案:

答案 0 :(得分:1)

来自Geocoder GitHub

  

Geocoder将locationsafe_location方法添加到标准中    Rack :: Request 对象,这样您就可以轻松查找任何位置   IP地址的HTTP请求。例如,在Rails控制器或   Sinatra app:

# returns Geocoder::Result object
result = request.location

location哈希示例:

{
  "data"=>{
    "ip"=>"213.174.0.254",
    "city"=>"Lviv",
    "latitude"=>49.8383,
    "zip_code"=>"79000",
    "longitude"=>24.0232,
    "time_zone"=>"Europe/Kiev",
    "metro_code"=>0,
    "region_code"=>"46",
    "region_name"=>"L'vivs'ka Oblast'",
    "country_code"=>"UA",
    "country_name"=>"Ukraine"
  },
  "cache_hit"=>nil
}