Устранение неполадок

Ошибки

В случае возникновения ошибки будет возвращено тело ответа об ошибке стандартного формата, а код статуса 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\" содержит недопустимое значение: ☃» Ваш запрос содержал недопустимые аргументы. Наиболее вероятные причины этой ошибки:
  • Проблема с параметром path .
    Убедитесь, что у вас не менее 1 и не более 100 баллов. Каждый балл должен быть представлен парой чисел, разделённых запятой, например: 48.409114,-123.369158 . Баллы должны быть разделены вертикальной чертой: «|».
  • В вашем запросе указан недействительный placeId .
  • Ваш запрос включает оба параметра placeId и path . Для каждого запроса можно указать только один из этих параметров.

Эта ошибка не будет возвращена, если placeId передан для дороги, которая больше не существует, или для места, которое не является дорогой.

403 PERMISSION_DENIED Незарегистрированный запрос заблокирован. Пожалуйста, зарегистрируйтесь через Google Developers Console. Запрос был отклонен по одной или нескольким из следующих причин:
  • Ключ API отсутствует или недействителен.
  • В вашем аккаунте не включена функция выставления счетов.
  • Превышен установленный лимит использования.
  • Предоставленный способ оплаты больше не действителен (например, истек срок действия кредитной карты).

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