Поиск проблемы

Ошибки

В случае ошибки будет возвращено тело ответа об ошибке стандартного формата, а код состояния 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 .
    Убедитесь, что у вас есть не менее 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 секунд), алгоритм привязки к дороге может оказаться не в состоянии определить пройденные дороги с достаточной точностью.
  • Если вы вручную нажимаете на карту для создания точек, очень легко создать пути с несколькими точками или разреженными точками, которые плохо обрабатываются алгоритмом привязки. Алгоритм привязки лучше всего работает для точек, расположенных близко друг к другу. Попробуйте демо-версию Snap to Roads или используйте инспектор дорог , чтобы проверить свои пути.
    Почему при увеличении масштаба мои отмеченные пути имеют неровности или слегка отклоняются от дороги?
    • Вы обрезаете точность привязанных пар широта/долгота перед их отображением? Хранение привязанных пар широта/долгота с точностью менее 7 знаков после запятой приводит к ошибкам точности при отображении привязанного пути на карте.
    • Используете ли вы кодированные полилинии? Закодированные ломаные линии обрезают пары широта/долгота до 5 знаков после запятой, что приводит к ошибке в несколько метров, в результате чего линии становятся зубчатыми или слегка отклоняются от дороги при высоких уровнях масштабирования.

    Если ни один из вышеперечисленных случаев не имеет места, фрагменты карты могли быть недавно обновлены, что привело к их рассинхронизации с индексом дороги, используемым для привязки. Если затронуты только некоторые из ваших запросов, это, вероятно, является причиной. Поскольку Карты Google регулярно обновляются, это может происходить время от времени и может происходить чаще, если вы регулярно просматриваете старые пути на карте (например, пути, которые были сняты несколько недель назад). Для оптимальной визуализации следует повторно привязать старые пути непосредственно перед их отображением на карте, чтобы свести к минимуму несоответствия между фрагментами карты и индексом дороги, используемым для привязки.

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