1

我按照安装 geokit-rails (v 2.0.1) 和 geokit (v 1.8.5) 的说明进行操作。然后尝试创建我自己的地理编码器(用于测试)。这是我在 config/initializers/fake_geocoder.rb 文件中使用的代码

require 'geokit'

module GeoKit
  module Geocoders
    class FakeGeocoder < Geocoder
      #to use, include :fake in the list of geocoders
      private

      def self.do_geocode(location, options = {})
          geocode_payload = GeoKit::GeoLoc.new(:lat => 123.456, :lng => 123.456)  
          geocode_payload.success = true 
          return geocode_payload
      end
    end
  end
end

尝试启动 rails 控制台(bundle exec rails c)时,出现以下错误:

../config/initializers/fake_geocoder.rb:6:in    `<module:Geocoders>': uninitialized constant GeoKit::Geocoders::Geocoder (NameError)
from ../config/initializers/fake_geocoder.rb:5:in `<module:GeoKit>'
from ../config/initializers/fake_geocoder.rb:4:in `<top (required)>'

您可以就为什么找不到 Geocoder 类提供的任何建议将不胜感激。

4

1 回答 1

7

有一段时间,Geokit 和 GeoKit(大写 K)起作用了。1.7.1 删除了 GeoKit。

只需将任何对 GeoKit 的引用替换为 Geokit

我是 Geokit 的维护者,所以如果有任何 README 已经过时(我看不到任何),请告诉我。

于 2014-06-24T11:59:49.380 回答