我正在使用 Geocoder gem 来查找当前位置。之前它工作正常,但现在当我检查它时,它为 request.location 返回 nil。

request.location => nil

最佳答案

timeout 设置得太低时,这将发生在不太常见的搜索(IP 查找、某些住宅地址等)中。

您可以通过运行 Rails 控制台并手动进行搜索来测试:

[7] pry(main)> location = Geocoder.search("4.2.2.2")
Geocoding API not responding fast enough (use Geocoder.configure(:timeout => ...) to set limit).
=> []

在 Geocoder 初始值设定项中设置更高的超时时间:
# config/initializers/geocoder.rb
Geocoder.configure(
  ...
  # geocoding service request timeout, in seconds (default 3):
  timeout: 10,
  ...
)

您可能需要使用 20 或 30。YMMV。

关于ruby - 地理编码器 request.location 返回 nil,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27114680/

10-12 03:53