OVER_QUERY_LIMIT в цикле

Я получаю код состояния OVER_QUERY_LIMIT при использовании библиотеки Javascript Google Адресов. В моей учетной записи включена выставление счетов, так что дело не в том, что я на самом деле превышаю лимит количества запросов мест, которые я делаю, а в том, что я использую библиотеку Javascript и просматриваю несколько сотен поисковых запросов мест. Проблема в том, что это приводит к тому, что статус OVER_QUERY_LIMIT возвращается из поиска, если только во время отладки я не замедляю цикл.

Как ни странно, это происходит только с библиотекой JS, а не при непосредственном использовании API. Вместо того, чтобы вводить что-то, чтобы замедлить цикл, есть ли что-нибудь, что люди могут порекомендовать, чтобы исправить это?

РЕДАКТИРОВАТЬ: больше информации о двух сценариях

  1. (проблема) Перебирает десятки точек, каждый раз делая запрос мест через официальный API Javascript Places.
  2. (тот, который работает) Использование node.js на серверной части для отправки запросов непосредственно к конечной точке поиска мест, задокументированной по адресу https://developers.google.com/maps/documentation/places/, а затем отправляет отдельные ответы клиенту.

Спасибо, Дэн


person basicallydan    schedule 02.05.2012    source источник
comment
Places действительно предназначен для ответа на специальные запросы, которые генерируются пользователями, взаимодействующими с вашей картой, а не как служба, вызываемая в программном цикле. Таким образом, Google следит за частотой запросов в дополнение к общему количеству запросов за 24 часа. Почему вам нужно многократно вызывать службу в цикле?   -  person Sean Mickey    schedule 03.05.2012
comment
Потому что я создаю приложение, которое делает много запросов мест для разных мест. Кажется, нет проблем с большим количеством запросов, когда я не использую библиотеку Javascript, и на самом деле это начало происходить только в последние несколько дней с тем же уровнем активности.   -  person basicallydan    schedule 03.05.2012
comment
Можете ли вы предоставить некоторые подробности о двух разных способах подачи запросов? Что вы имеете в виду, когда говорите, что используете библиотеку JS, а не используете API напрямую? Просто пытаюсь помочь -   -  person Sean Mickey    schedule 03.05.2012
comment
Спасибо, я знаю :) Я ответил на ваш вопрос в редактировании.   -  person basicallydan    schedule 03.05.2012
comment
@DanielHough действительно существует ограничение скорости для API JavaScript, чтобы предотвратить злоупотребление службой, поскольку API JavaScript не имеет квоты. Однако стандартный API Places не имеет ограничения скорости, но имеет дневную квоту. Я также настоятельно рекомендую не программно сканировать большие объемы данных Places в автоматическом режиме, так как это запрещено, как описано в разделе 10.1.3 Условий использования Google Maps/Google Earth API: developers.google.com/maps/terms#section_10_1_3   -  person Chris Green    schedule 03.05.2012
comment
Привет, Крис, большое спасибо за твой ответ и за то, что прояснил это. Я знаю решение, которое мне нужно придумать, я думаю :) это не должно быть слишком сложно. Однако, пока у меня есть ваше внимание, могу ли я спросить ваше мнение кое о чем? Мое приложение выполняет поиск от десятков до сотен точек на каждый запрос пользователя, то есть оно может выполнять от десятков до сотен запросов к API мест в течение нескольких секунд. Считаете ли вы это нарушением правила запрета массовых загрузок или массовой загрузки контента? Имейте в виду, что большинство этих запросов возвращаются безрезультатно.   -  person basicallydan    schedule 03.05.2012