Ошибки
В случае возникновения ошибки будет возвращено тело ответа об ошибке стандартного формата, а код статуса 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 Developers Console. | Запрос был отклонен по одной или нескольким из следующих причин:
Для использования продуктов платформы Google Карт в вашей учётной записи должен быть включён биллинг, а все запросы должны содержать действительный ключ 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 секунд) алгоритм привязки к дорогам может не определить пройденные пути с достаточной точностью.
- Если вы вручную щёлкаете по карте для создания точек, очень легко создать пути с небольшим количеством точек или с редкими точками, которые алгоритм привязки обрабатывает некорректно. Алгоритм привязки лучше всего работает с точками, расположенными близко друг к другу. Попробуйте демо-версию функции «Привязка к дорогам» или используйте инспектор дорог для проверки своих путей.
- Почему при увеличении масштаба мои сфотографированные пути получаются неровными или слегка отклоняются от дороги?
- Вы уменьшаете точность привязанных пар широты/долготы перед их отображением? Хранение привязанных пар широты/долготы с точностью менее 7 знаков после запятой приводит к ошибкам точности при отображении привязанного пути на карте.
- Используете ли вы кодированные полилинии? Кодированные полилинии обрезают пары широты и долготы до 5 знаков после запятой, что приводит к погрешности в несколько метров, в результате чего линии получаются неровными или слегка отклоняются от дороги при высоком масштабе.
Если ни одно из вышеперечисленных условий не выполняется, фрагменты карты могли быть недавно обновлены, что привело к их рассинхронизации с индексом дорог, используемым для привязки. Если это затронуло лишь некоторые из ваших запросов, вероятно, причина в этом. Поскольку Google Карты регулярно обновляются, это может происходить время от времени, а если вы регулярно просматриваете старые пути на карте (например, пути, прикреплённые несколько недель назад), то это может происходить чаще. Для оптимальной визуализации следует повторно привязывать старые пути непосредственно перед их отображением на карте, чтобы минимизировать несоответствия между фрагментами карты и индексом дорог, используемым для привязки.
- Что может быть причиной некорректного отображения ограничения скорости на дороге X?
- Информация об ограничениях скорости поступает из нескольких источников, которые различаются по точности и охвату. Если вы обнаружили закономерность, например, информацию об ограничениях скорости для определённого типа дороги или в определённом районе, которая систематически неверна, пожалуйста, сообщите нам об этом, выполнив следующие действия:
- Откройте Google Maps на настольном компьютере ИЛИ приложение Google Maps для Android.
- Откройте левое меню.
- Выберите «Отправить отзыв» . Примечание: вам может быть предложено войти в систему.
- Выберите Редактировать карту .
- Выберите участок дороги, который вы хотите отредактировать.
- Выберите Далее .
- В поле «Другое» укажите, что ограничение скорости на этой дороге неверное.
- Выберите «Отправить» .
- Почему мой проложенный путь срезает углы, а не следует по прямой?
- Чтобы исправить эту проблему, проверьте следующее:
- Убедитесь, что параметр
interpolate
имеет значениеtrue
. - Убедитесь, что исходные точки данных собираются с достаточно близкими интервалами (каждые 1–10 секунд).
- Убедитесь, что параметр
- Почему в снимке пути отображается много сегментов дороги, на которой не изменено ограничение скорости?
- Если параметру
interpolate
присвоено значениеtrue
, запрос привязки к дороге возвращает полилинию, которая повторяет форму дороги на поворотах, поворотах и кольцевых развязках. Если дорога изгибается, возвращаются несколько сегментов дороги, даже если ограничение скорости не меняется, чтобы создать полилинию, точно повторяющую геометрию дороги.