Google Maps Geocoding API Неправильное ограничение скорости - PullRequest
4 голосов
/ 31 октября 2011

Я добавляю функцию отображения в один из внутренних инструментов, используемых моей компанией.Короче говоря, у нас есть список из 50 адресов, которые необходимо разместить на карте.Я использую Карты Google, чтобы это была интерактивная карта, а затем API-интерфейс javascript для геокодирования и добавления маркеров.

Согласно документации Google , я ограничен 10 запросами навторой.Итак, я настроил свой javascript для работы с массивом адресов и поместил задержку между каждым пакетом.

Итак, моя функция настроена с двумя переменными confif, которые я могу установить: addressPerBatch и timeoutPerBatch - довольноочевидно, что каждый должен делать.Вы могли бы подумать, что, судя по документации Google, мне бы разрешили

 addressesPerBatch = 10;
 timeoutPerBatch = 1000; //That's in milliseconds

Я, безусловно, нет.Я очень быстро достиг своего предела скорости, когда отправляю запросы так быстро.Самое приятное, что я обнаружил, это на самом деле "

 addressesPerBatch = 2;
 timeoutPerBatch = 2000;

Итак, это проблема с моим JavaScript или проблема с ограничением скорости Google?

Я создалjsfiddle, чтобы вы могли лучше понять, что именно я делаю: http://jsfiddle.net/Qt4gV/1/

Ответы [ 2 ]

1 голос
/ 08 апреля 2013

Согласно ответу на аналогичный вопрос на кодовой странице Google: «Ограничение частоты запросов API геокодирования не раскрывается, чтобы минимизировать злоупотребления услугами».https://code.google.com/p/gmaps-api-issues/issues/detail?id=3099#c4

Как и то, что @jwegner упомянул в комментариях, следует проверить возвращенный код состояния и реализовать постоянный откат для случая "OVER_QUERY_LIMIT".

0 голосов
/ 13 марта 2012

Когда я делал большие партии геокодирования, я делал это последовательно с таймаутом около 0,25 секунды между каждым запросом. Это не вызывало проблем и было достаточно быстрым. БД обновляется слишком долго, чем запрос / ответ геокодирования.

Кроме того, если у вас есть лицензия Premier, убедитесь, что вы следуете инструкциям по добавлению подписи в запрос, иначе ваши запросы будут обрабатываться так же, как при использовании бесплатной лицензии. Я усвоил этот трудный путь, когда максимально увеличил свой дневной лимит, выполнив несколько тестовых прогонов на моем сервере разработки!

...