2014-11-24 4 views
2

Возможных дубликатов:Рубин - геокодирования апи не реагирует достаточно быстро

Link 1, Link 2, Link 3, Link 4

Выше ссылки будут в любом случае мне не помогает!

Код:

require 'geocoder' 

    begin 
     Geocoder.configure(:timeout => 30) 
     geo_data = Geocoder.search("any_ip_address_here") 
     location = geo_data.first.data 
     country_code = location["country_code"] 
     puts "#{country_code}" 
    rescue => e 
     puts "#{e.message}" 
    end 

Gem:

геокодер (1.2.6)

Ошибка:

«геокодирования апи не Респ (используйте параметр geocoder.configure (: timeout => ...), чтобы установить предел) «

Я получаю эту ошибку случайным образом на стадии разработки, а также на стадии производства. Почему это происходит? хотя я и сделал:

  • Исходный период по умолчанию для геокодера от 15 до 30 секунд.
  • 480 запросов в день.

Я пропустил что-нибудь помимо вышеуказанного? Пожалуйста, помогите мне избавиться от этой проблемы.

Заранее спасибо.

+2

Это происходит с использованием услуг 3rd Party - вы должны переместить вызовы API в качестве фонового задания и повторить попытку после сбоя. – Anthony

+0

Возможное решение здесь: http://stackoverflow.com/questions/26093393/geocoding-api-not-responding-fast-enough-for-ip-address Я надеюсь, что это поможет вам! –

ответ

0

Это описано в README в разделе «Услуги геокодирования». Создание инициализатора (config/initializers/geocoder.rb) и добавить:

Geocoder::Configuration.timeout = 15 

Надеется, что это будет работать для вас :)

+0

это не решает проблему ... –

-2

Мы рекомендуем приложение, реагирующие на действия пользователя, и, следовательно, являются очень чувствительными к задержкам, используйте подсказки функция в API-интерфейсах Places (также доступна на JavaScript, Android или iOS), а не на геокодирование адресов. Place Autocomplete оптимизирован для использования в интерактивном режиме и, следовательно, имеет очень низкую задержку. Геокодирование адресов в API геокодирования оптимизировано для использования с полными, недвусмысленными, хорошо отформатированными адресами, такими как адреса доставки, введенные в онлайн-формы, и, следовательно, имеет более высокую задержку, чем Place Autocomplete. Это уже имеет место со старым передним геокодером. Разница в задержках между Place Autocomplete и новым передним геокодером возрастает еще больше, поскольку новый геокодер имеет больший охват и лучшее качество результата, но за счет более высокой латентности.

Из Google Guys

https://developers.google.com/maps/documentation/geocoding/faq

Смежные вопросы