Geokit没有使用geocoder.us和google api

时间:2016-03-07 11:29:28

标签: ruby-on-rails ruby rails-geocoder geokit

我的Geokit插件工作正常但是在geocoder.us之后它停止工作并显示错误。 Geokit::Geocoders::GeocodeError。现在我如何禁用geocoder.us服务并仅使用geocoder.ca和google服务。

这是我的代码:

if defined? Geokit
    # These defaults are used in Geokit::Mappable.distance_to and in acts_as_mappable
    Geokit::default_units = :miles
    Geokit::default_formula = :sphere

    # This is the timeout value in seconds to be used for calls to the geocoder web
    # services.  For no timeout at all, comment out the setting.  The timeout unit
    # is in seconds. 
    Geokit::Geocoders::request_timeout = 3

    # These settings are used if web service calls must be routed through a proxy.
    # These setting can be nil if not needed, otherwise, addr and port must be 
    # filled in at a minimum.  If the proxy requires authentication, the username
    # and password can be provided as well.
    Geokit::Geocoders::proxy_addr = nil
    Geokit::Geocoders::proxy_port = nil
    Geokit::Geocoders::proxy_user = nil
    Geokit::Geocoders::proxy_pass = nil

    # This is your yahoo application key for the Yahoo Geocoder.
    # See http://developer.yahoo.com/faq/index.html#appid
    # and http://developer.yahoo.com/maps/rest/V1/geocode.html
    Geokit::Geocoders::yahoo = 'REPLACE_WITH_YOUR_YAHOO_KEY'

    # This is your Google Maps geocoder key. 
    # See http://www.google.com/apis/maps/signup.html
    # and http://www.google.com/apis/maps/documentation/#Geocoding_Examples
    Geokit::Geocoders::google = 'AIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

    # This is your username and password for geocoder.us.
    # To use the free service, the value can be set to nil or false.  For 
    # usage tied to an account, the value should be set to username:password.
    # See http://geocoder.us
    # and http://geocoder.us/user/signup
    Geokit::Geocoders::geocoder_us = false 

    # This is your authorization key for geocoder.ca.
    # To use the free service, the value can be set to nil or false.  For 
    # usage tied to an account, set the value to the key obtained from
    # Geocoder.ca.
    # See http://geocoder.ca
    # and http://geocoder.ca/?register=1
    Geokit::Geocoders::geocoder_ca = false

    # Uncomment to use a username with the Geonames geocoder
    Geokit::Geocoders::geonames = "HElloWorld"

    # This is the order in which the geocoders are called in a failover scenario
    # If you only want to use a single geocoder, put a single symbol in the array.
    # Valid symbols are :google, :yahoo, :us, and :ca.
    # Be aware that there are Terms of Use restrictions on how you can use the 
    # various geocoders.  Make sure you read up on relevant Terms of Use for each
    # geocoder you are going to use.
    Geokit::Geocoders::provider_order = [:google, :us, :ca]

    # The IP provider order. Valid symbols are :ip,:geo_plugin.
    # As before, make sure you read up on relevant Terms of Use for each
    Geokit::Geocoders::ip_provider_order = [:geo_plugin,:ip]

end

1 个答案:

答案 0 :(得分:-1)

在GemFile中添加gem 'google-v3-geocoder', '1.0.0'

然后在geokit_config.rb中添加以下代码行

Geokit::Geocoders::Google3Geocoder = Geokit::Geocoders::GoogleGeocoder3
Geokit::Geocoders::provider_order = [:google3, :ca]