Ошибки
В случае ошибки будет возвращено тело ответа об ошибке стандартного формата, а код состояния HTTP будет установлен в состояние ошибки.
В ответе содержится объект с единственным объектом error
со следующими ключами:
-
code
: это то же самое, что и HTTP-статус ответа. -
message
: Краткое описание ошибки. -
status
: код состояния, указывающий характер ошибки.
Например, отправка недопустимого параметра placeId
вернет следующую ошибку:
{ "error": { "code": 400, "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"", "status": "INVALID_ARGUMENT" } }
Возможные ошибки включают в себя:
Код | Статус | Сообщение | Поиск неисправностей |
---|---|---|---|
400 | INVALID_ARGUMENT | Предоставленный вами ключ недействителен. | Ваш ключ API недействителен или не был включен в запрос. Убедитесь, что вы включили весь ключ и включили API для этого ключа. |
400 | INVALID_ARGUMENT | "Параметр \"path\" содержит недопустимое значение: ☃" | Ваш запрос содержал недопустимые аргументы. Наиболее вероятные причины этой ошибки:
Эта ошибка не будет возвращена, если |
403 | PERMISSION_DENIED | Незарегистрированный запрос заблокирован. Пожалуйста, зарегистрируйтесь с помощью консоли разработчиков Google. | Запрос был отклонен по одной или нескольким из следующих причин:
Чтобы использовать продукты платформы Google Maps, в вашей учетной записи должна быть включена оплата, а все запросы должны включать действительный ключ API. Чтобы это исправить, выполните следующие действия:
|
404 | NOT_FOUND | Для этой службы требуется HTTPS. | Убедитесь, что вы отправляете запросы на https ://roads.googleapis.com/ , а не http ://roads.googleapis.com/ . |
429 | RESOURCE_EXHAUSTED | Запрос был ограничен из-за достижения лимита запросов проекта. | Вы превысили лимит запросов, настроенный в консоли Google Cloud Platform. Этот предел обычно устанавливается как количество запросов в день, количество запросов на 100 секунд и количество запросов на 100 секунд на пользователя. Это ограничение должно быть настроено таким образом, чтобы не допустить исчерпания ежедневной квоты одним или небольшой группой пользователей, при этом обеспечивая разумный доступ всем пользователям. См. раздел «Ограничение использования API», чтобы настроить эти ограничения. |
Экспоненциальный откат
В случае сбоя запросов вам следует убедиться, что вы повторяете запросы с экспоненциальной задержкой. Например, если запрос завершился неудачно один раз, повторите попытку через секунду, если он снова завершится неудачей, повторите попытку через две секунды, затем через четыре секунды и так далее. Это гарантирует, что неработающие запросы или масштабные сбои не перегрузят серверы Google, поскольку многие клиенты пытаются очень быстро повторить запросы.
Часто задаваемые вопросы по устранению неполадок
Проблемы реализации
- С какой частотой мне следует проверять местоположение моего автомобиля?
- Для получения высококачественных результатов привязки к дороге рекомендуется каждые 1–10 секунд.
- Существует ли ограничение на количество баллов, которые я могу отправить за один запрос?
- Да, запрос может содержать не более 100 точек.
- Какой уровень точности мне следует использовать для хранения снятых пар широты и долготы?
- Чтобы гарантировать, что привязанные пути следуют за дорогами при всех уровнях масштабирования, даже при максимальном уровне масштабирования, вам следует хранить зафиксированные пары широты и долготы с точностью до 7 знаков после запятой.
- Могу ли я использовать закодированные полилинии для отображения привязанных путей?
- Кодированные полилинии задаются только с точностью до 5 десятичных знаков, что приводит к ошибке примерно в 2 метра. Таким образом, закодированные полилинии не подходят, если вы хотите, чтобы закрепленные пути следовали за дорогой при высоких уровнях масштабирования.
Общие проблемы
- Некоторые точки не привязываются, или у меня есть пробелы в привязке к траекториям. Как я могу это исправить?
- Если вы производите выборку точек через определенные промежутки времени, убедитесь, что выборка точек производится через более короткие интервалы (каждые 1–10 секунд). Если используется более длинный интервал (например, 60 секунд), алгоритм привязки к дороге может оказаться не в состоянии определить пройденные дороги с достаточной точностью.
- Если вы вручную щелкаете по карте для создания точек, очень легко создать пути с небольшим количеством точек или редкими точками, с которыми алгоритм привязки не справляется. Алгоритм привязки лучше всего работает для точек, расположенных близко друг к другу. Попробуйте демо-версию Snap to Roads или воспользуйтесь инспектором дорог, чтобы проверить свои пути.
- Почему при увеличении масштаба мои зафиксированные пути имеют неровные края или слегка отклоняются от дороги?
- Усекаете ли вы точность зафиксированных пар широты и долготы перед их отображением? Сохранение привязанных пар широты и долготы с точностью менее 7 десятичных знаков приводит к ошибкам точности при отображении привязанного пути на карте.
- Используете ли вы закодированные полилинии? Закодированные полилинии усекают пары широты и долготы до 5 знаков после запятой, что приводит к ошибке в несколько метров, в результате чего линии становятся неровными или слегка отклоняются от дороги при высоких уровнях масштабирования.
Если ни одно из вышеперечисленного не имеет место, возможно, фрагменты карты были недавно обновлены, что привело к их рассинхронизации с индексом дороги, используемым для привязки. Если затронуты только несколько ваших запросов, скорее всего, это и есть причина. Поскольку Карты Google регулярно обновляются, это может происходить время от времени и может происходить чаще, если вы регулярно просматриваете старые пути на карте (например, пути, которые были зафиксированы несколько недель назад). Для оптимальной визуализации следует повторно привязать старые пути непосредственно перед их отображением на карте, чтобы свести к минимуму несоответствия между фрагментами карты и индексом дороги, используемым для привязки.
- Что может привести к неправильному отображению ограничения скорости на дороге X?
- Ограничения скорости исходят из нескольких источников, которые различаются по точности и охвату. Если вы обнаружите, что закономерность, например, ограничения скорости для определенного типа дороги или в определенной области, постоянно неверны, сообщите нам об этом, выполнив следующие действия:
- Откройте Карты Google на настольном компьютере ИЛИ приложение Карты Google для Android.
- Откройте левое боковое меню.
- Выберите Отправить отзыв . Примечание: вам может быть предложено войти в систему.
- Выберите Редактировать карту .
- Выберите сегмент дороги, который хотите изменить.
- Выберите Далее .
- В поле «Другое» укажите, что для данной дороги установлен неправильный скоростной режим.
- Выберите «Отправить» .
- Почему мой выбранный путь срезает углы, а не следует по дороге?
- Чтобы устранить эту проблему, проверьте следующее:
- Убедитесь, что для параметра
interpolate
установлено значениеtrue
. - Убедитесь, что исходные точки данных собираются с достаточно близкими интервалами (каждые 1–10 секунд).
- Убедитесь, что для параметра
- Почему я получаю множество сегментов дороги, возвращаемых в замкнутом пути для дороги без изменения ограничения скорости?
- Если для параметра
interpolate
установлено значениеtrue
, запрос привязки к дороге возвращает полилинию, которая следует за дорогой вокруг углов, кривых и кольцевых развязок. Если дорога изгибается, возвращается несколько сегментов дороги, даже если ограничение скорости не меняется, чтобы создать полилинию, точно повторяющую геометрию дороги.