Важно: Премиум-план платформы Google Карт больше не доступен для регистрации или новых клиентов.
Обзор
Если ваше приложение превышает лимиты использования веб-сервиса платформы Google Карт, сервис возвращает сообщение об ошибке. Если ваше приложение продолжает превышать лимиты использования, доступ к веб-сервису может быть заблокирован, а в некоторых случаях оно может получать ответы «403 Forbidden».
Если запросы веб-служб вашего приложения приводят к сообщениям об ошибках, вы можете снизить нагрузку, оптимизировав приложения для более эффективного использования веб-служб.
Прежде чем начать
Прежде чем оптимизировать использование веб-сервиса вашего приложения, убедитесь, что вы используете нужный сервис для вашего варианта использования и правильную лицензию API Карт.
Проверьте свой вариант использования
Веб-сервисы платформы Google Карт лучше всего подходят для приложений, не требующих ввода данных в режиме реального времени или когда веб-браузер не используется. Например, веб-сервисы следует использовать, если ваше приложение использует набор данных, не зависящий от ввода пользователя, например, фиксированный набор адресов на сайте недвижимости, требующий геокодирования.
Обратите внимание, что в случае веб-сервисов ограничение на количество запросов в минуту (QPM) применяется к вашей лицензии Premium Plan независимо от того, с скольких IP-адресов отправляются запросы.
С другой стороны, клиентские сервисы, доступные через Maps JavaScript API, ограничены по частоте на сеанс браузера, поэтому запросы распределяются между всеми пользователями и масштабируются по мере роста их числа. Поэтому клиентские сервисы лучше всего подходят для приложений, которые геокодируют вводимые пользователями адреса в режиме реального времени, например, для поиска магазинов рядом с домашним адресом пользователя.
Более подробное обсуждение того, когда следует использовать веб-сервисы, см. в разделе «Стратегии геокодирования» . Хотя рекомендации в этом документе относятся к геокодированию, они применимы ко всем веб-сервисам и объясняют, когда следует использовать серверные веб-сервисы, а когда — их клиентские аналоги.
Как оптимизировать использование веб-сервисов
Чтобы эффективнее использовать веб-сервисы, можно снизить нагрузку, отправляя запросы только при необходимости и распределяя нагрузку равномерно, чтобы не превышать установленные лимиты.
Результаты кэширования
В разделах 3.2.3.a и b Условий предоставления услуг платформы Google Карт указано, что вы не имеете права предварительно загружать, индексировать, хранить или кэшировать какой-либо Контент, за исключением ограниченных условий, указанных в Условиях.
Обратите внимание, что идентификатор места , используемый для его уникальной идентификации, не подлежит кэшированию. Поэтому значения идентификатора места можно хранить неограниченное время.
Запросы на дросселирование
Чтобы избежать превышения лимитов использования, вы можете настроить приложение на ограничение количества запросов, помещая их в очередь, которая отслеживает время отправки. Если ваше приложение получает один дополнительный запрос сверх лимита QPM, скорректируйте частоту запросов. Добавьте в код период ожидания S секунд между запросами. Если запрос по-прежнему приводит к ошибке квоты, удвойте период ожидания и отправьте ещё один запрос. Продолжайте корректировать период ожидания, пока запрос не вернётся без ошибок.
Даже при ограничении количества запросов приложения могут получать ответы с кодом состояния OVER_QUERY_LIMIT . Настройте приложение так, чтобы оно добавило небольшую задержку (20 мс), и повторите попытку, если оно получит такой ответ.