Ruby 在 Rails Geokit gem 地理编码返回 nil

Ruby On Rails Geokit gem geocoding returning nil

我在 Rails 应用程序的 Ruby 中使用 geokit gem 时遇到了困难,因为它提供了指向 return 的地址而不是 nil。

我已经阅读了之前关于 Stack Overflow 的文章、gem 的 GitHub 存储库和其他互联网文章,我相信我正在按照示例进行操作。

这是来自我的终端 window 的代码,我在 controller.rb 文件中放置了一个 binding.pry

    20:
    21:   location_a = Geokit::Geocoders::GoogleGeocoder.geocode("140 Market St, San Francisco, CA")
    22:   location_b = GoogleGeocoder.geocode("140 Market St, San Francisco, CA")
    23:
 => 24:   binding.pry
    25:
    26: end

[1] pry(#<BrewsController>)> location_a
=> #<Geokit::GeoLoc:0x00007fa0d659f208
 @all=[#<Geokit::GeoLoc:0x00007fa0d659f208 ...>],
 @city=nil,
 @country_code=nil,
 @full_address=nil,
 @lat=nil,
 @lng=nil,

我读到将这些放在我的 controller.rb 文件的顶部:

  require 'geokit'
  include Geokit::Geocoders

我在 config/initializers/geokit_config.rb 文件中有这些代码行:

Geokit::Geocoders::GoogleGeocoder.api_key = "my-key-I-will-not-put-here"
Geokit::Geocoders::provider_order = [:google]

我安装了 gem:

/Users/slathyd/.gem/ruby/2.4.5/gems/geokit-1.13.1
/Users/slathyd/.gem/ruby/2.4.5/gems/geokit-rails-2.3.1

这是我的Gemfile

gem 'geokit'
gem 'geokit-rails'

如果有人能告诉我我做错了什么以及如何解决它,我将不胜感激。干杯。

我让代码工作的方法是简单地重新启动一切。我已经多次重启我的服务器,但我一定不得不做其他事情。我将其全部关闭,笔记本电脑,重新启动了整台机器,它开始工作并且从那以后一直在工作。感谢所有查看此内容并进行研究的人。