Method: computeRoutes

Возвращает основной маршрут и, если есть, альтернативные маршруты с учетом заданных конечных и промежуточных путевых точек.

ПРИМЕЧАНИЕ. Для этого метода необходимо указать маску поля ответа во входных данных. Маску поля ответа можно указать с помощью параметров URL $fields или fields или заголовка HTTP/gRPC X-Goog-FieldMask (см. доступные параметры URL и заголовки). Значение представляет собой список путей к полям, разделенных запятыми. Подробную информацию о том, как создавать пути к полям, можно найти в документации.

Например, в этом методе:

  • Маска поля для всех доступных полей (для проверки вручную): X-Goog-FieldMask: *.
  • Маска поля для продолжительности, расстояния и ломаной линии на уровне маршрута (пример рабочей конфигурации): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline.

Google не рекомендует использовать маску поля ответа с подстановочным знаком (*) или указывать маску поля на верхнем уровне (routes), поскольку:

  • Если вы выберете только нужные поля, наш сервер сможет сэкономить вычислительные ресурсы и быстрее предоставить вам результат.
  • Если в рабочем задании выбрать только нужные поля, задержка будет стабильной. В будущем мы можем добавить больше полей для ответов, и для их обработки может потребоваться дополнительное время. Если вы выберете все поля или все поля на верхнем уровне, то можете заметить снижение производительности, поскольку любое новое поле, которое мы добавим, будет автоматически включаться в ответ.
  • Если выбрать только нужные поля, размер ответа будет меньше, а пропускная способность сети – выше.

HTTP-запрос

POST https://routes.googleapis.com/directions/v2:computeRoutes

URL имеет синтаксис gRPC Transcoding.

Тело запроса

Ниже приведена структура данных в теле запроса.

JSON-представление
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Поля
origin

object (Waypoint)

Обязательно. Путевая точка отправления.

destination

object (Waypoint)

Обязательно. Путевая точка пункта назначения.

intermediates[]

object (Waypoint)

Необязательное поле. Набор путевых точек на маршруте (кроме конечных точек), в которых нужно остановиться или проехать мимо. Поддерживается до 25 промежуточных путевых точек.

travelMode

enum (RouteTravelMode)

Необязательное поле. Указывает способ передвижения.

routingPreference

enum (RoutingPreference)

Необязательное поле. Указывает, как рассчитывать маршрут. Сервер пытается использовать выбранный вариант маршрута для его расчета. Если предпочтительный маршрут приводит к ошибке или слишком большой задержке, возвращается ошибка. Этот параметр можно указать, только если для параметра travelMode задано значение DRIVE или TWO_WHEELER. В противном случае запрос завершится неудачно.

polylineQuality

enum (PolylineQuality)

Необязательное поле. Указывает предпочтительное качество ломаной линии.

polylineEncoding

enum (PolylineEncoding)

Необязательное поле. Указывает предпочтительный способ кодирования ломаной линии.

departureTime

string (Timestamp format)

Необязательное поле. Время отправления. Если вы не зададите это значение, по умолчанию будет использоваться время отправки запроса. ПРИМЕЧАНИЕ. Указать дату departureTime в прошлом можно только в том случае, если для параметра RouteTravelMode задано значение TRANSIT. Маршруты общественного транспорта доступны за последние 7 дней и на ближайшие 100 дней.

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

arrivalTime

string (Timestamp format)

Необязательное поле. Время прибытия. ПРИМЕЧАНИЕ. Это поле игнорируется, если в запросах указан другой тип RouteTravelMode, а не TRANSIT. Можно указать departureTime или arrivalTime, но не оба значения одновременно. Маршруты общественного транспорта доступны за последние 7 дней и на ближайшие 100 дней.

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

computeAlternativeRoutes

boolean

Необязательное поле. Указывает, нужно ли рассчитывать альтернативные маршруты в дополнение к основному. Альтернативные маршруты не возвращаются для запросов с промежуточными путевыми точками.

routeModifiers

object (RouteModifiers)

Необязательное поле. Набор условий, влияющих на расчет маршрутов.

languageCode

string

Необязательное поле. Код языка по стандарту BCP-47, например "ru-RU" или "sr-Latn". Подробнее об идентификаторах локали Unicode… Список поддерживаемых языков приведен в разделе Поддержка языков. Если вы не укажете это значение, язык интерфейса будет определен на основе местоположения запроса маршрута.

regionCode

string

Необязательное поле. Код региона, указываемый как двухсимвольное значение национального домена верхнего уровня (ccTLD). Подробнее о национальных доменах верхнего уровня…

units

enum (Units)

Необязательное поле. Указывает единицы измерения для полей отображения. К ним относится поле instruction в объекте NavigationInstruction. Единицы измерения, используемые для маршрута, этапа, расстояния и продолжительности, не зависят от этого значения. Если вы не укажете это значение, единицы измерения будут определены на основе местоположения первого источника.

optimizeWaypointOrder

boolean

Необязательное поле. Если задано значение true, сервис пытается минимизировать общую стоимость маршрута, меняя порядок указанных промежуточных путевых точек. Если какая-либо из промежуточных путевых точек является путевой точкой via, запрос не будет выполнен. Чтобы найти новый порядок, используйте ComputeRoutesResponse.routes.optimized_intermediate_waypoint_index. Если в заголовке X-Goog-FieldMask не указан параметр ComputeRoutesResponse.routes.optimized_intermediate_waypoint_index, запрос не будет выполнен. Если для правила optimizeWaypointOrder задано значение False, поле ComputeRoutesResponse.optimized_intermediate_waypoint_index будет пустым.

requestedReferenceRoutes[]

enum (ReferenceRoute)

Необязательное поле. Указывает, какие справочные маршруты нужно рассчитать в рамках запроса в дополнение к маршруту по умолчанию. Справочный маршрут – это маршрут, который рассчитывается с целью, отличной от цели маршрута по умолчанию. Например, при расчете FUEL_EFFICIENT эталонного маршрута учитываются различные параметры, которые позволяют создать оптимальный маршрут с точки зрения расхода топлива. При использовании этой функции ищите значок routeLabels на маршрутах.

extraComputations[]

enum (ExtraComputation)

Необязательное поле. Список дополнительных вычислений, которые могут быть использованы для выполнения запроса. Примечание. В результате этих дополнительных вычислений в ответе могут появиться дополнительные поля. Эти дополнительные поля также должны быть указаны в маске поля, чтобы быть возвращенными в ответе.

trafficModel

enum (TrafficModel)

Необязательное поле. Определяет выбор модели расчета в зависимости от загруженности дорог. Этот параметр влияет на возвращаемое значение поля длительности в Route и RouteLeg (прогнозируемое время в пути с учетом средних статистических показателей). TrafficModel доступен только для запросов, в которых для параметра RoutingPreference задано значение TRAFFIC_AWARE_OPTIMAL, а для параметра RouteTravelMode – DRIVE. Если запрос трафика отправлен, а значение TrafficModel не указано, по умолчанию используется значение BEST_GUESS.

transitPreferences

object (TransitPreferences)

Необязательное поле. Указывает предпочтения, влияющие на маршрут, возвращаемый для маршрутов TRANSIT. ПРИМЕЧАНИЕ. Вы можете указать значение transitPreferences, только если для параметра RouteTravelMode задано значение TRANSIT.

Тело ответа

v2.computeRoutes – сообщение ответа.

Ниже приведена структура данных в ответе, полученном на запрос.

JSON-представление
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
Поля
routes[]

object (Route)

Содержит массив рассчитанных маршрутов (до трех), если вы задали параметр compute_alternatives_routes, и только один маршрут, если не задали. Если в массиве несколько записей, первая из них – самый рекомендуемый маршрут. Если массив пустой, значит маршрут не найден.

fallbackInfo

object (FallbackInfo)

Если сервер не может рассчитать маршрут с учетом всех заданных предпочтений, он может использовать другой способ расчета. Если используется резервный режим, в этом поле содержится подробная информация о резервном ответе. В противном случае это поле не задано.

geocodingResults

object (GeocodingResults)

Содержит информацию о геокодировании для путевых точек, указанных в виде адресов.

PolylineQuality

Набор значений, определяющих качество ломаной линии.

Перечисления
POLYLINE_QUALITY_UNSPECIFIED Не указано предпочтение качества ломаной линии. Значение по умолчанию – OVERVIEW.
HIGH_QUALITY Указывает на высококачественную ломаную линию, которая состоит из большего количества точек, чем OVERVIEW, что приводит к увеличению размера ответа. Используйте это значение, если вам нужна более высокая точность.
OVERVIEW Указывает ломаную линию, которая состоит из небольшого количества точек. Используйте это значение, когда показываете обзор маршрута. При использовании этого варианта задержка запроса будет меньше, чем при использовании варианта HIGH_QUALITY.

PolylineEncoding

Указывает предпочтительный тип полилинии, который должен быть возвращен.

Перечисления
POLYLINE_ENCODING_UNSPECIFIED Не указан тип ломаной линии. Значение по умолчанию – ENCODED_POLYLINE.
ENCODED_POLYLINE Указывает ломаную линию, закодированную с помощью алгоритма кодирования ломаной линии.
GEO_JSON_LINESTRING Указывает ломаную линию, используя формат LineString GeoJSON.

ReferenceRoute

Поддерживаемый справочный маршрут в ComputeRoutesRequest.

Перечисления
REFERENCE_ROUTE_UNSPECIFIED Не используется. Запросы, содержащие это значение, не выполняются.
FUEL_EFFICIENT Маршрут с минимальным расходом топлива.
SHORTER_DISTANCE

Маршрут с меньшим расстоянием. Это экспериментальная функция.

Для запросов DRIVE эта функция отдает приоритет более короткому маршруту, а не комфорту вождения. Например, он может предпочесть местные дороги шоссе, выбрать грунтовые дороги, проехать через парковки и т. д. Эта функция не предлагает маневры, которые Google Картам известны как незаконные.

Для запросов BICYCLE и TWO_WHEELER эта функция возвращает маршруты, похожие на те, которые возвращаются, когда вы не указываете requestedReferenceRoutes.

Эта функция несовместима с другими способами передвижения, промежуточными путевыми точками и optimizeWaypointOrder. Такие запросы будут отклоняться. Однако его можно использовать с любым устройством routingPreference.

ExtraComputation

Дополнительные вычисления, которые нужно выполнить при обработке запроса. В будущем могут быть добавлены другие значения.

Перечисления
EXTRA_COMPUTATION_UNSPECIFIED Не используется. Запросы с этим значением будут отклоняться.
TOLLS Информация о платных дорогах на маршруте.
FUEL_CONSUMPTION Расчетный расход топлива на маршруте.
TRAFFIC_ON_POLYLINE Полилинии маршрутов с учетом загруженности дорог.
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstruction в виде отформатированной текстовой строки HTML. Этот текст должен отображаться "как есть", без дополнительной программной обработки. Не анализируйте его программно.
FLYOVER_INFO_ON_POLYLINE Информация о пролете над маршрутом. Чтобы получить эту информацию, необходимо указать маску поля routes.polyline_details.flyover_info. В настоящее время эти данные доступны только для некоторых агломераций в Индии. Это экспериментальная функция, и SKU/цена могут быть изменены.
NARROW_ROAD_INFO_ON_POLYLINE Информация об узких дорогах на маршруте. Чтобы получить эту информацию, необходимо указать маску поля routes.polyline_details.narrow_road_info. В настоящее время эти данные доступны только для некоторых агломераций в Индии. Это экспериментальная функция, и SKU/цена могут быть изменены.
TUNNEL_INFO_ON_POLYLINE Информация о тоннелях на маршруте. Чтобы получить эту информацию, необходимо указать маску поля routes.polyline_details.tunnel_info.
BRIDGE_INFO_ON_POLYLINE Информация о мостах на маршруте. Чтобы получить эту информацию, необходимо указать маску поля routes.polyline_details.bridge_info.
SKYWAY_INFO_ON_POLYLINE Информация о надземных переходах на маршрутах. Чтобы получить эту информацию, необходимо указать маску поля routes.polyline_details.skyway_info.

Маршрут

Содержит маршрут, состоящий из последовательности связанных сегментов дорог, соединяющих начальную, конечную и промежуточные путевые точки.

JSON-представление
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string,
  "polylineDetails": {
    object (PolylineDetails)
  }
}
Поля
routeLabels[]

enum (RouteLabel)

Ярлыки для Route, которые помогают определить свойства маршрута для сравнения с другими.

legs[]

object (RouteLeg)

Набор участков (отрезков пути между путевыми точками), составляющих маршрут. Каждый этап соответствует поездке между двумя неvia Waypoints. Например, маршрут без промежуточных путевых точек состоит только из одного отрезка. Маршрут, включающий одну промежуточную путевую точку, отличную от via, состоит из двух отрезков. Маршрут, включающий одну промежуточную путевую точку via, состоит из одного отрезка. Порядок сегментов соответствует порядку путевых точек: origin, intermediates, destination.

distanceMeters

integer

Расстояние маршрута в метрах.

duration

string (Duration format)

Время, необходимое для проезда по маршруту. Если для параметра routingPreference задано значение TRAFFIC_UNAWARE, то это значение будет таким же, как и у параметра staticDuration. Если для параметра routingPreference задано значение TRAFFIC_AWARE или TRAFFIC_AWARE_OPTIMAL, то это значение рассчитывается с учетом загруженности дорог.

Продолжительность в секундах, может содержать до девяти дробных цифр и заканчиваться на символ "s". Пример: "3.5s".

staticDuration

string (Duration format)

Время в пути по маршруту без учета загруженности дорог.

Продолжительность в секундах, может содержать до девяти дробных цифр и заканчиваться на символ "s". Пример: "3.5s".

polyline

object (Polyline)

Общая ломаная линия маршрута. Эта ломаная линия представляет собой объединенную ломаную линию всех объектов legs.

description

string

Описание маршрута.

warnings[]

string

Массив предупреждений, которые необходимо показать вместе с маршрутом.

viewport

object (Viewport)

Граничная рамка области просмотра ломаной линии.

travelAdvisory

object (RouteTravelAdvisory)

Дополнительная информация о маршруте.

optimizedIntermediateWaypointIndex[]

integer

Если для параметра optimizeWaypointOrder задано значение true, в этом поле будет указан оптимизированный порядок промежуточных путевых точек. В противном случае поле будет пустым. Например, если вы ввели входные данные: "Пункт отправления: Лос-Анджелес; промежуточные путевые точки: Даллас, Бангор, Финикс; пункт назначения: Нью-Йорк", а оптимизированный порядок промежуточных путевых точек – Финикс, Даллас, Бангор, то в этом поле будут указаны значения [2, 0, 1]. Индекс начинается с 0 для первой промежуточной путевой точки, указанной во входных данных.

localizedValues

object (RouteLocalizedValues)

Текстовые представления свойств объекта Route.

routeToken

string

Непрозрачный токен, который можно передать в Navigation SDK, чтобы восстановить маршрут во время навигации и, если маршрут будет перестроен, сохранить исходное намерение при его создании. Этот токен следует рассматривать как непрозрачный объект. Не сравнивайте его значения в разных запросах, поскольку оно может меняться, даже если сервис возвращает один и тот же маршрут.

ПРИМЕЧАНИЕ. Параметр Route.route_token доступен только для запросов, в которых для параметра ComputeRoutesRequest.routing_preference задано значение TRAFFIC_AWARE или TRAFFIC_AWARE_OPTIMAL. Route.route_token не поддерживается для запросов с путевыми точками.

polylineDetails

object (PolylineDetails)

Содержит информацию о деталях вдоль ломаной линии.

RouteLabel

Ярлыки для Route, которые помогают определить свойства маршрута для сравнения с другими.

Перечисления
ROUTE_LABEL_UNSPECIFIED По умолчанию не используется.
DEFAULT_ROUTE Маршрут по умолчанию, который считается оптимальным.
DEFAULT_ROUTE_ALTERNATE Альтернативный маршрут, отличный от маршрута по умолчанию. Такие маршруты будут возвращаться, если указан параметр computeAlternativeRoutes.
FUEL_EFFICIENT Маршрут с минимальным расходом топлива. Маршруты с этим значением оптимизированы с учетом экологических параметров, например расхода топлива.
SHORTER_DISTANCE Маршрут с меньшим расстоянием. Это экспериментальная функция.

RouteLeg

Содержит сегмент между путевыми точками, не относящимися к via.

JSON-представление
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
Поля
distanceMeters

integer

Расстояние в метрах, которое нужно проехать по этому участку маршрута.

duration

string (Duration format)

Время, необходимое для прохождения этапа. Если для route_preference задано значение TRAFFIC_UNAWARE, то это значение совпадает с staticDuration. Если для параметра route_preference указано значение TRAFFIC_AWARE или TRAFFIC_AWARE_OPTIMAL, то это значение рассчитывается с учетом загруженности дорог.

Продолжительность в секундах, может содержать до девяти дробных цифр и заканчиваться на символ "s". Пример: "3.5s".

staticDuration

string (Duration format)

Время поездки по участку без учета загруженности дорог.

Продолжительность в секундах, может содержать до девяти дробных цифр и заканчиваться на символ "s". Пример: "3.5s".

polyline

object (Polyline)

Общая ломаная линия для этого этапа, включающая ломаную линию каждого элемента step.

startLocation

object (Location)

Начальная точка отрезка. Это местоположение может отличаться от указанного в origin. Например, если предоставленная точка origin находится не рядом с дорогой, то это точка на дороге.

endLocation

object (Location)

Конечная точка отрезка. Это местоположение может отличаться от указанного в destination. Например, если предоставленная точка destination находится не рядом с дорогой, то это точка на дороге.

steps[]

object (RouteLegStep)

Массив шагов, обозначающих сегменты в этом участке маршрута. Каждый шаг – это отдельная инструкция.

travelAdvisory

object (RouteLegTravelAdvisory)

Содержит дополнительную информацию, которую следует сообщить пользователю, например возможные ограничения в зоне дорожного движения на участке маршрута.

localizedValues

object (RouteLegLocalizedValues)

Текстовые представления свойств объекта RouteLeg.

stepsOverview

object (StepsOverview)

Общая информация об этапах в этом RouteLeg. Это поле заполняется только для маршрутов на общественном транспорте.

Polyline

Содержит кодированную ломаную линию.

JSON-представление
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of mutually exclusive fields.
}
Поля
Содержит тип ломаной линии. По умолчанию используется encoded_polyline. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
encodedPolyline

string

Строка, представляющая ломаную линию, закодированную с помощью алгоритма кодирования ломаной линии.

geoJsonLinestring

object (Struct format)

Указывает ломаную линию, используя формат LineString GeoJSON.

Конец взаимоисключающих полей.

RouteLegStep

Содержит сегмент RouteLeg. Шаг соответствует одной инструкции по навигации. Этапы маршрута состоят из шагов.

JSON-представление
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
Поля
distanceMeters

integer

Расстояние, пройденное на этом этапе, в метрах. В некоторых случаях это поле может быть пустым.

staticDuration

string (Duration format)

Время, необходимое для прохождения этого шага без учета загруженности дорог. В некоторых случаях это поле может быть пустым.

Продолжительность в секундах, может содержать до девяти дробных цифр и заканчиваться на символ "s". Пример: "3.5s".

polyline

object (Polyline)

Ломаная линия, связанная с этим шагом.

startLocation

object (Location)

Начальная точка этого шага.

endLocation

object (Location)

Конечная точка этого шага.

navigationInstruction

object (NavigationInstruction)

инструкции по навигации;

travelAdvisory

object (RouteLegStepTravelAdvisory)

Содержит дополнительную информацию, которую нужно сообщить пользователю, например возможные ограничения в зоне движения, на этапе маршрута.

localizedValues

object (RouteLegStepLocalizedValues)

Текстовые представления свойств объекта RouteLegStep.

transitDetails

object (RouteLegStepTransitDetails)

Сведения об этом этапе, если режим передвижения – TRANSIT.

travelMode

enum (RouteTravelMode)

Способ передвижения, использованный на этом шаге.

Маневр

Набор значений, указывающих, какое действие необходимо выполнить на текущем шаге (например, повернуть налево, влиться в поток или ехать прямо).

Перечисления
MANEUVER_UNSPECIFIED Не используется.
TURN_SLIGHT_LEFT Слегка поверните налево.
TURN_SHARP_LEFT Резко поверните налево.
UTURN_LEFT Выполните разворот налево.
TURN_LEFT Поверните налево.
TURN_SLIGHT_RIGHT Слегка поверните направо.
TURN_SHARP_RIGHT Резко поверните направо.
UTURN_RIGHT Выполните разворот направо.
TURN_RIGHT Поверните направо.
STRAIGHT Езжайте прямо.
RAMP_LEFT Поверните на съезд слева.
RAMP_RIGHT Воспользуйтесь съездом справа.
MERGE Влиться в поток.
FORK_LEFT Поверните налево.
FORK_RIGHT Поверните направо.
FERRY Воспользуйтесь паромом.
FERRY_TRAIN Сядьте на поезд, который ведет к парому.
ROUNDABOUT_LEFT На кольце поверните налево.
ROUNDABOUT_RIGHT На кольце поверните направо.
DEPART Первый маневр.
NAME_CHANGE Используется для обозначения изменения названия улицы.
DESTINATION Используется для обозначения прибытия в пункт назначения.

RouteLegStepTravelAdvisory

Содержит дополнительную информацию, которую следует сообщить пользователю, например возможные ограничения на проезд по определенным зонам на одном из этапов маршрута.

JSON-представление
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Поля
speedReadingIntervals[]

object (SpeedReadingInterval)

ПРИМЕЧАНИЕ. В настоящее время это поле не заполняется.

RouteLegStepLocalizedValues

Текстовые представления некоторых свойств.

JSON-представление
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Поля
distance

object (LocalizedText)

Расстояние, пройденное во время поездки, в текстовом формате.

staticDuration

object (LocalizedText)

Продолжительность поездки без учета загруженности дорог, представленная в текстовой форме.

RouteLegStepTransitDetails

Дополнительная информация для RouteLegStep, связанная с маршрутами TRANSIT.

JSON-представление
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
Поля
stopDetails

object (TransitStopDetails)

Информация об остановках прибытия и отправления для этапа.

localizedValues

object (TransitDetailsLocalizedValues)

Текстовые представления свойств объекта RouteLegStepTransitDetails.

headsign

string

Направление линии общественного транспорта, в котором следует ехать (как указано на транспортном средстве или остановке). Часто это конечная остановка маршрута.

headway

string (Duration format)

Ожидаемое время в виде интервала между отправлениями от одной и той же остановки. Например, если значение "Интервал между прибытиями в секундах" равно 600, это означает, что следующий автобус придет через 10 минут.

Продолжительность в секундах, может содержать до девяти дробных цифр и заканчиваться на символ "s". Пример: "3.5s".

transitLine

object (TransitLine)

Информация о маршруте общественного транспорта на этом шаге.

stopCount

integer

Количество остановок между пунктом отправления и пунктом прибытия. Включает остановку прибытия, но не остановку отправления. Например, если вы выезжаете с остановки A, проезжаете остановки B и C и выходите на остановке D, значение stopCount будет равно 3.

tripShortText

string

Текст, который пассажиры видят в расписаниях и на информационных табло в качестве пункта назначения рейса. Текст должен однозначно идентифицировать поездку в течение дня обслуживания. Например, "538" – это tripShortText поезда Amtrak, который отправляется из Сан-Хосе (Калифорния) в 15:10 по будням и прибывает в Сакраменто (Калифорния).

TransitStopDetails

Информация об остановках общественного транспорта для RouteLegStep.

JSON-представление
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
Поля
arrivalStop

object (TransitStop)

Информация об остановке прибытия для этапа.

arrivalTime

string (Timestamp format)

Расчетное время прибытия в пункт назначения.

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

departureStop

object (TransitStop)

Информация об остановке отправления для этапа.

departureTime

string (Timestamp format)

Расчетное время отправления для шага.

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

TransitStop

Информация об остановке общественного транспорта.

JSON-представление
{
  "name": string,
  "location": {
    object (Location)
  }
}
Поля
name

string

Название остановки общественного транспорта.

location

object (Location)

Местоположение остановки, выраженное в координатах широты и долготы.

TransitDetailsLocalizedValues

Локализованные описания значений для RouteTransitDetails.

JSON-представление
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
Поля
arrivalTime

object (LocalizedTime)

Время в виде форматированного текста с указанием часового пояса.

departureTime

object (LocalizedTime)

Время в виде форматированного текста с указанием часового пояса.

LocalizedTime

Локализованное описание времени.

JSON-представление
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
Поля
time

object (LocalizedText)

Время в виде строки в определенном часовом поясе.

timeZone

string

Содержит часовой пояс. Значение – название часового пояса в формате базы данных часовых поясов IANA (например, "America/New_York").

TransitLine

Содержит информацию о маршруте общественного транспорта на этом шаге.

JSON-представление
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
Поля
agencies[]

object (TransitAgency)

Транспортное агентство (или агентства), которое обслуживает этот маршрут.

name

string

Полное название маршрута, например "8 Avenue Local".

uri

string

URI маршрута, предоставленный транспортным агентством.

color

string

Цвет, которым обозначается этот маршрут. Представлено в шестнадцатеричном формате.

iconUri

string

URI значка, связанного с этим маршрутом.

nameShort

string

Краткое название маршрута. Как правило, это номер маршрута, например М7 или 355.

textColor

string

Цвет текста, обычно используемого в знаках этого вида транспорта. Представлено в шестнадцатеричном формате.

vehicle

object (TransitVehicle)

Тип транспортного средства, используемого на маршруте общественного транспорта.

TransitAgency

Транспортное агентство, которое управляет маршрутом.

JSON-представление
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
Поля
name

string

Название транспортного агентства.

phoneNumber

string

Номер телефона транспортного агентства в формате, принятом в определенном регионе.

uri

string

URI транспортного агентства.

TransitVehicle

Информация о транспортном средстве, используемом на маршрутах общественного транспорта.

JSON-представление
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
Поля
name

object (LocalizedText)

Название транспортного средства, написанное заглавными буквами.

type

enum (TransitVehicleType)

Тип транспортного средства.

iconUri

string

URI значка, связанного с этим типом транспортного средства.

localIconUri

string

URI значка, связанного с этим типом транспорта, на основе местных дорожных знаков.

TransitVehicleType

Тип транспортных средств для маршрутов общественного транспорта.

Перечисления
TRANSIT_VEHICLE_TYPE_UNSPECIFIED Не используется.
BUS Автобус
CABLE_CAR Канатная дорога (транспорт, обычно наземный, приводимый в движение с помощью троса). Воздушные канатные дороги могут относиться к типу GONDOLA_LIFT
COMMUTER_TRAIN Электропоезд
FERRY Паром
FUNICULAR Фуникулер (канатная дорога для подъема в гору, Фуникулер обычно состоит из двух вагончиков, каждый из которых служит противовесом другому.
GONDOLA_LIFT Воздушная канатная дорога
HEAVY_RAIL Городской рельсовый транспорт
HIGH_SPEED_TRAIN Скоростной поезд
INTERCITY_BUS Междугородный автобус
LONG_DISTANCE_TRAIN Поезд дальнего следования.
METRO_RAIL Легкорельсовый транспорт
MONORAIL Монорельс
OTHER Все остальные транспортные средства.
RAIL Рельсовый транспорт
SHARE_TAXI Маршрутное такси (вид автобуса с возможностью посадки и выхода пассажиров на любой точке своего маршрута).
SUBWAY Подземный легкорельсовый транспорт
TRAM Наземный легкорельсовый транспорт
TROLLEYBUS Троллейбус

RouteLegTravelAdvisory

Содержит дополнительную информацию, которую нужно сообщить пользователю на этапе маршрута, например возможные ограничения в зоне движения.

JSON-представление
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Поля
tollInfo

object (TollInfo)

Содержит информацию о платных дорогах на определенном RouteLeg. Это поле заполняется, только если мы ожидаем, что на маршруте RouteLeg есть платные дороги, а TOLLS включен в запрос ComputeRoutesRequest.extra_computations. Если это поле задано, но вложенное поле estimatedPrice не заполнено, мы предполагаем, что на дороге есть платные участки, но не знаем их примерную стоимость. Если tollInfo не существует, то на RouteLeg нет платы.

speedReadingIntervals[]

object (SpeedReadingInterval)

Интервалы скорости чтения, указывающие на плотность трафика. Это поле заполняется только в запросах, в которых для параметра TRAFFIC_AWARE или TRAFFIC_AWARE_OPTIMAL задано значение ComputeRoutesRequest.routing_preference, а параметр TRAFFIC_ON_POLYLINE включен в параметр ComputeRoutesRequest.extra_computations. Интервалы покрывают всю ломаную линию RouteLeg без перекрытий. Начало одного интервала совпадает с концом предыдущего.

Пример:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).

RouteLegLocalizedValues

Текстовые представления некоторых свойств.

JSON-представление
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Поля
distance

object (LocalizedText)

Расстояние, пройденное во время поездки, в текстовом формате.

duration

object (LocalizedText)

Продолжительность в текстовом формате, локализованном для региона, в котором был выполнен запрос. Учитывает загруженность дорог. Примечание. Если вы не запрашивали информацию о трафике, это значение будет таким же, как и staticDuration.

staticDuration

object (LocalizedText)

Продолжительность поездки без учета загруженности дорог, представленная в текстовой форме.

StepsOverview

Содержит общую информацию о списке RouteLegStep.

JSON-представление
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
Поля
multiModalSegments[]

object (MultiModalSegment)

Сводная информация о различных мультимодальных сегментах RouteLeg.steps. Это поле не заполняется, если в маршруте RouteLeg нет мультимодальных сегментов.

MultiModalSegment

Содержит сводную информацию о различных мультимодальных сегментах RouteLeg.steps. Многомодальный сегмент – это один или несколько смежных элементов RouteLegStep с одинаковым значением RouteTravelMode. Это поле не заполняется, если в маршруте RouteLeg нет мультимодальных сегментов.

JSON-представление
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
Поля
navigationInstruction

object (NavigationInstruction)

Инструкция по навигации для сегмента с несколькими видами транспорта.

travelMode

enum (RouteTravelMode)

Способ передвижения в многорежимном сегменте.

stepStartIndex

integer

Индекс RouteLegStep, соответствующий началу мультимодального сегмента.

stepEndIndex

integer

Соответствующий индекс RouteLegStep, который является концом мультимодального сегмента.

Область просмотра

Область просмотра с координатами широты и долготы, представленная двумя диагонально противоположными точками low и high. Область просмотра считается замкнутой, то есть включает свои границы. Широта должна находиться в диапазоне от -90 до +90 градусов, а долгота – в диапазоне от -180 до +180 градусов. Вот несколько примеров:

  • Если low = high, область просмотра состоит из одной точки.

  • Если low.longitude > high.longitude, диапазон долготы инвертируется (область просмотра пересекает линию долготы 180 градусов).

  • Если low.longitude = -180 градусов, а high.longitude = 180 градусов, область просмотра включает все значения долготы.

  • Если low.longitude = 180 градусов, а high.longitude = -180 градусов, диапазон долготы будет пустым.

  • Если low.latitude > high.latitude, диапазон широты пуст.

Оба поля (low и high) должны быть заполнены, а представляемый прямоугольник не может быть пустым (как указано в определениях выше). Пустой видовой экран приведет к ошибке.

Например, этот видовой экран полностью охватывает Нью-Йорк:

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

JSON-представление
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
Поля
low

object (LatLng)

Обязательно. Нижняя точка области просмотра.

high

object (LatLng)

Обязательно. Верхняя точка области просмотра.

RouteLocalizedValues

Текстовые представления некоторых свойств.

JSON-представление
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Поля
distance

object (LocalizedText)

Расстояние, пройденное во время поездки, в текстовом формате.

duration

object (LocalizedText)

Продолжительность в текстовом формате, локализованном для региона, в котором был выполнен запрос. Учитывает загруженность дорог. Примечание. Если вы не запрашивали информацию о трафике, это значение будет таким же, как и значение атрибута "staticDuration".

staticDuration

object (LocalizedText)

Продолжительность поездки без учета загруженности дорог, представленная в текстовой форме.

transitFare

object (LocalizedText)

Стоимость проезда в текстовом формате.

PolylineDetails

Сведения, соответствующие определенному индексу или непрерывному сегменту ломаной линии. Для ломаной линии с точками P_0, P_1, …, P_N (индекс с точкой отсчета в нуле) элемент PolylineDetails определяет интервал и связанные с ним метаданные.

JSON-представление
{
  "tunnelInfo": [
    {
      object (TunnelInfo)
    }
  ],
  "restrictionInfo": [
    {
      object (RestrictionInfo)
    }
  ],
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ],
  "bridgeInfo": [
    {
      object (BridgeInfo)
    }
  ],
  "skywayInfo": [
    {
      object (SkywayInfo)
    }
  ]
}
Поля
tunnelInfo[]

object (TunnelInfo)

Информация о туннелях вдоль ломаной линии. Это поле заполняется, если в запросе указан модификатор маршрута avoidTunnels и построенный маршрут не позволяет избежать туннелей, ИЛИ если в extraComputations указано TUNNEL_INFO_ON_POLYLINE и маршрут содержит туннели.

restrictionInfo[]

object (RestrictionInfo)

Сведения об ограничениях вдоль ломаной линии. Это поле заполняется, только если в запросе указан модификатор маршрута vehicleInfo и в полученном маршруте есть применимое ограничение. В противном случае это поле не используется.

flyoverInfo[]

object (FlyoverInfo)

Информация о пролете над ломаной линией.

narrowRoadInfo[]

object (NarrowRoadInfo)

Информация об узких дорогах вдоль ломаной линии.

bridgeInfo[]

object (BridgeInfo)

Информация о мостах вдоль ломаной линии.

skywayInfo[]

object (SkywayInfo)

Информация о воздушных трассах вдоль ломаной линии.

TunnelInfo

Содержит информацию о туннелях вдоль полилинии.

JSON-представление
{
  "tunnelPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Поля
tunnelPresence

enum (RoadFeatureState)

Указывает, есть ли туннель на определенном участке ломаной линии.

polylinePointIndex

object (PolylinePointIndex)

Расположение информации о туннеле вдоль ломаной линии.

RoadFeatureState

Содержит информацию о состоянии дорожных объектов на участке ломаной линии.

Перечисления
ROAD_FEATURE_STATE_UNSPECIFIED Состояние функции "Дорога" не вычислено (значение по умолчанию).
EXISTS Дорожный объект существует.
DOES_NOT_EXIST Дороги не существует.

PolylinePointIndex

Содержит начальный и конечный индексы для детали ломаной линии. Если данные относятся к одной точке, значения startIndex и endIndex будут одинаковыми.

JSON-представление
{
  "startIndex": integer,
  "endIndex": integer
}
Поля
startIndex

integer

Начальный индекс этого фрагмента в ломаной линии.

endIndex

integer

Конечный индекс этого фрагмента в ломаной линии.

RestrictionInfo

Содержит информацию о различных ограничениях вдоль ломаной линии.

JSON-представление
{
  "restrictionPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "restrictedHeightMm": string,
  "restrictedWeightKg": string,
  "hazardousGoods": boolean,
  "trucksProhibited": boolean
  // End of mutually exclusive fields.
}
Поля
restrictionPresence

enum (RoadFeatureState)

Используется только для вывода. Указывает, есть ли ограничения на определенном участке ломаной линии.

polylinePointIndex

object (PolylinePointIndex)

Местоположение информации об ограничении на ломаной линии.

Содержит типы ограничений, которые могут применяться к определенному участку ломаной линии. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
restrictedHeightMm

string (int64 format)

Ограничение по высоте в миллиметрах. Это поле заполняется, когда ограничение по высоте не позволяет проехать или приводит к низкому клиренсу для указанного транспортного средства.

restrictedWeightKg

string (int64 format)

Ограничение по весу в килограммах. Это поле заполняется, когда ограничение по весу не позволяет проехать или близко к весу указанного транспортного средства.

hazardousGoods

boolean

Это поле имеет значение true, если перевозка опасных грузов запрещена.

trucksProhibited

boolean

Если грузовики запрещены, в этом поле будет указано значение true.

Конец взаимоисключающих полей.

FlyoverInfo

Содержит информацию о пролетах над полилинией.

JSON-представление
{
  "flyoverPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Поля
flyoverPresence

enum (RoadFeatureState)

Используется только для вывода. Указывает, есть ли для определенного участка ломаной линии пролет.

polylinePointIndex

object (PolylinePointIndex)

Расположение информации о пролете над объектом вдоль ломаной линии.

NarrowRoadInfo

Содержит информацию об узких дорогах вдоль полилинии.

JSON-представление
{
  "narrowRoadPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Поля
narrowRoadPresence

enum (RoadFeatureState)

Используется только для вывода. Указывает, есть ли узкая дорога на определенном участке ломаной линии.

polylinePointIndex

object (PolylinePointIndex)

Местоположение информации об узкой дороге вдоль ломаной линии.

BridgeInfo

Содержит информацию о мостах вдоль ломаной линии.

JSON-представление
{
  "bridgePresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Поля
bridgePresence

enum (RoadFeatureState)

Указывает, есть ли мост на определенном участке ломаной линии.

polylinePointIndex

object (PolylinePointIndex)

Местоположение информации о мосте на ломаной линии.

SkywayInfo

Содержит информацию о надземных переходах вдоль ломаной линии.

JSON-представление
{
  "skywayPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Поля
skywayPresence

enum (RoadFeatureState)

Указывает, есть ли надземный переход на определенном участке ломаной линии.

polylinePointIndex

object (PolylinePointIndex)

Местоположение информации о надземном переходе вдоль ломаной линии.

GeocodingResults

Содержит GeocodedWaypoints для начальной, конечной и промежуточных путевых точек. Заполняется только для путевых точек с адресами.

JSON-представление
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
Поля
origin

object (GeocodedWaypoint)

Путевая точка с геокодом для начальной точки маршрута.

destination

object (GeocodedWaypoint)

Путевая точка с геокодом пункта назначения.

intermediates[]

object (GeocodedWaypoint)

Список промежуточных геокодированных путевых точек, каждая из которых содержит поле индекса, соответствующее позиции путевой точки в запросе (нумерация начинается с нуля).

GeocodedWaypoint

Информация о местоположениях, используемых в качестве промежуточных точек. Заполняется только для путевых точек с адресами. Содержит подробные сведения о результатах геокодирования, чтобы определить, какой адрес был геокодирован.

JSON-представление
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
Поля
geocoderStatus

object (Status)

Указывает код статуса, полученный в результате операции геокодирования.

type[]

string

Тип или типы результата в виде одного или нескольких тегов. Поддерживаемые типы: типы адресов и их компонентов.

partialMatch

boolean

Указывает, что геокодер не вернул точное соответствие для исходного запроса, хотя и обнаружил частичное совпадение с запрашиваемым адресом. Рекомендуется проверить исходный запрос на наличие в нем опечаток и/или неполного адреса.

placeId

string

Идентификатор места для этого результата.

intermediateWaypointRequestIndex

integer

Индекс соответствующей промежуточной путевой точки в запросе. Заполняется только в том случае, если соответствующая путевая точка является промежуточной.