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