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

Ошибки

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