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