【问题标题】:Geocoder returns nil for ip-addresses?地理编码器为 IP 地址返回 nil?
【发布时间】:2012-02-28 09:06:52
【问题描述】:

我正在使用 ruby​​ on rails 工作。导轨版本 3.1.1。我一直在使用Geocoder gem 根据街道地址对位置进行地理编码,它工作得很好。现在我一直在尝试使用访问者的 IP 地址来定位他们。

我试过了

result = request.location

ip = request.ip
result = Geocoder.search(ip)

第一个选项返回 nil,第二个选项给我一个正确的 IP 地址和一个空数组。

是否需要进行任何配置才能使其正常工作?

还有其他更流畅的选择吗?我正在考虑在浏览器中使用 HTML5 或一些 javascript,但这不是最佳选择,因为我想在服务器端使用该位置。

【问题讨论】:

  • 您获取的 IP 地址似乎无法追踪到特定位置。如果你在这里输入 IP 会发生什么:whatismyipaddress.com/?gclid=CKWB55rJwK4CFQZ_hwodjDlvug
  • 我在几个站点上尝试了相同的 IP,他们找到了我。 whatismyipaddress.com 也找到了我。
  • 我好像也有同样的问题; IP 地理编码确实有效,但不再有效。
  • 对我也不起作用。我什至尝试将服务从 FreeGeoIP 更改为 Nominatim/Google/Yandex。但没有结果
  • @AlbinSvensson 回复可能为时已晚,或者您找到了不同的解决方案,但这就是我所做的。在我的控制器中,我创建了一个变量,即@client_ip = request.ip@city = request.location.city 等,然后能够在我的视图中使用这些变量` 等

标签: ruby-on-rails-3 geocoding rails-geocoder


【解决方案1】:

我这周遇到同样的问题,搜索返回null,请看我的解决方案

error in request.location ruby geocoder

解决方案是增加超时时间。

【讨论】:

    猜你喜欢
    • 2015-12-08
    • 1970-01-01
    • 2013-06-14
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 2011-02-15
    • 1970-01-01
    相关资源
    最近更新 更多