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

Ошибки

В случае ошибки будет возвращено тело ответа об ошибке стандартного формата, а код состояния 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. Запрос был отклонен по одной или нескольким из следующих причин:
  • Ключ API отсутствует или недействителен.
  • В вашем аккаунте не включена оплата.
  • Превышено добровольное ограничение использования.
  • Указанный способ оплаты больше не действителен (например, срок действия кредитной карты истек).

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

    Ошибки

    В случае ошибки будет возвращено тело ответа об ошибке стандартного формата, а код состояния 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. Запрос был отклонен по одной или нескольким из следующих причин:
    • Ключ API отсутствует или недействителен.
    • В вашем аккаунте не включена оплата.
    • Превышено добровольное ограничение использования.
    • Указанный способ оплаты больше не действителен (например, срок действия кредитной карты истек).

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