Я использую гем Rails Geocoder для геокодирования широты и долготы адреса улицы, отправленного пользователем. Я также хотел бы автоматически получать IP-адрес пользователей, чтобы заполнить домашний экран другими отправленными пользователями адресами рядом с их местоположением.
Я хотел бы использовать ключ API для IPinfo, чтобы получить местоположение пользователя, и другой ключ API для Google, чтобы геокодировать широту/долготу адреса улицы. Ранее, когда я вызываю два ключа API, я получаю предупреждающее сообщение о том, что первый ключ был перезаписан вторым, вероятно, потому, что они имели одинаковое имя.
Я видел это предыдущее сообщение, где пользователь ответил, что может сделать это, передав сервис в качестве значения поиска, но как они настроили ключ API в файле конфигурации geocoder.rb? Они изменили имя API для второго сервиса? Им пришлось добавить еще один файл конфигурации?
Любая помощь вообще будет оценена по достоинству. Мой текущий файл конфигурации ниже. На данный момент я закомментировал поиск IPinfo, чтобы по-прежнему иметь возможность геокодировать элементы в производстве. Спасибо.
if Rails.env.production?
Geocoder.configure(
# Geocoding options
timeout: 5, # geocoding service timeout (secs)
lookup: :google, # name of geocoding service (symbol)
# ip_lookup: :ipinfo_io, # name of IP address geocoding service (symbol)
# api_key: ENV['IPINFO_IO_API_KEY'], #API key for ip lookup service
# language: :en, # ISO-639 language code
use_https: true, # use HTTPS for lookup requests? (if supported)
# http_proxy: nil, # HTTP proxy server (user:pass@host:port)
# https_proxy: nil, # HTTPS proxy server (user:pass@host:port)
api_key: ENV['GOOGLE_GEOCODER_API_KEY'], # API key for geocoding service
# cache: Redis.new, # cache object (must respond to #[], #[]=, and #del)
# cache_prefix: 'geocoder:', # prefix (string) to use for all cache keys
# Exceptions that should not be rescued by default
# (if you want to implement custom error handling);
# supports SocketError and Timeout::Error
# always_raise: [],
# Calculation options
# units: :mi, # :km for kilometers or :mi for miles
# distances: :linear # :spherical or :linear
)
end