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 .

Текст запроса

Тело запроса содержит данные следующей структуры:

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 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "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 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "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, например, "en-US" или "sr-Latn". Дополнительную информацию см. в разделе "Идентификатор локали Unicode" . Список поддерживаемых языков см. в разделе "Поддержка языков" . Если это значение не указано, язык отображения определяется по местоположению запроса маршрута.

regionCode

string

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

units

enum ( Units )

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

optimizeWaypointOrder

boolean

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

requestedReferenceRoutes[]

enum ( ReferenceRoute )

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

extraComputations[]

enum ( ExtraComputation )

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

trafficModel

enum ( TrafficModel )

Необязательный параметр. Задает предположения, используемые при расчете времени в пробке. Этот параметр влияет на значение, возвращаемое в поле duration в Route и RouteLeg , которое содержит прогнозируемое время в пробке на основе исторических средних значений. TrafficModel доступен только для запросов, в которых RoutingPreference установлен в TRAFFIC_AWARE_OPTIMAL , а RouteTravelMode — в DRIVE . По умолчанию используется BEST_GUESS если запрашивается информация о пробке, а TrafficModel не указан.

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 Задает полилинию в формате GeoJSON LineString.

Справочный маршрут

Поддерживаемый эталонный маршрут в объекте ComputeRoutesRequest.

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

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

При использовании функции DRIVE приоритет отдается более коротким расстояниям, а не комфорту вождения. Например, она может отдавать предпочтение местным дорогам вместо автомагистралей, проезжать по грунтовым дорогам, пересекать парковки и т. д. Эта функция не возвращает данные о маневрах, которые, как известно Google Maps, являются незаконными.

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

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

Экстравычисления

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

Перечисления
EXTRA_COMPUTATION_UNSPECIFIED Не используется. Запросы, содержащие это значение, завершатся ошибкой.
TOLLS Информация о платных участках маршрута (маршрутов).
FUEL_CONSUMPTION Расчетный расход топлива на данном маршруте (маршрутах).
TRAFFIC_ON_POLYLINE Полилинии, учитывающие интенсивность движения, для данного маршрута (маршрутов).
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstruction представлена ​​в виде отформатированной HTML-строки. Этот контент предназначен для чтения в неизмененном виде. Он предназначен только для отображения. Не следует обрабатывать его программным способом.
FLYOVER_INFO_ON_POLYLINE Информация об эстакадах для маршрута(ов). Для получения этой информации необходимо указать параметр поля routes.polyline_details.flyover_info . В настоящее время эти данные будут отображаться только для некоторых крупных городов Индии. Эта функция является экспериментальной, и ее артикул/стоимость могут быть изменены.
NARROW_ROAD_INFO_ON_POLYLINE Информация о узких дорогах для маршрута(ов). Для получения этой информации необходимо указать маску поля routes.polyline_details.narrow_road_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 )

Набор участков пути (отрезков между промежуточными точками), составляющих маршрут. Каждый участок соответствует пути между двумя Waypoints , не via . Например, маршрут без промежуточных точек имеет только один участок. Маршрут, включающий одну промежуточную точку, не 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 не поддерживается для запросов, содержащих путевые точки Via.

polylineDetails

object ( PolylineDetails )

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

RouteLabel

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

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

Маршрутная нога

Содержит участок между точками маршрута, не 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 . Это поле заполняется только для маршрутов общественного транспорта.

Полилайн

Инкапсулирует закодированную полилинию.

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

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
Поля
Поле объединения polyline_type . Указывает тип полилинии. По умолчанию используется encoded_polyline. polyline_type может принимать только одно из следующих значений:
encodedPolyline

string

Кодирование полилинии с использованием алгоритма кодирования полилинии.

geoJsonLinestring

object ( Struct format)

Задает полилинию, используя формат GeoJSON LineString .

МаршрутНогаШаг

Содержит сегмент 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 Используется для обозначения изменения названия улицы.

МаршрутШагПутешествияКонсультативный

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

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

object ( SpeedReadingInterval )

Примечание: В данный момент это поле не заполнено.

RouteLegStepLocalizedValues

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

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

object ( LocalizedText )

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

staticDuration

object ( LocalizedText )

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

МаршрутНогаШагТранспортПодробности

Дополнительная информация для 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, следует ожидать десятиминутного ожидания, если вы опоздаете на автобус.

Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .

transitLine

object ( TransitLine )

Информация о транспортной линии, использованной на этом этапе.

stopCount

integer

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

tripShortText

string

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

Информация о транзитной остановке

Подробная информация об остановках общественного транспорта 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 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "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 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

ТранзитСтоп

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

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 )

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

Локализованное время

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

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

object ( LocalizedText )

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

timeZone

string

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

ТранзитЛайн

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

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

Краткое название этой транспортной линии. Обычно это номер линии, например, «M7» или «355».

textColor

string

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

vehicle

object ( TransitVehicle )

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

Транспортное агентство

Транспортное агентство, управляющее транспортной линией.

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

string

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

phoneNumber

string

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

uri

string

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

Транспортное средство

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

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

object ( LocalizedText )

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

type

enum ( TransitVehicleType )

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

iconUri

string

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

localIconUri

string

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

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

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

Перечисления
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 Троллейбус.

Маршрутный маршрутный совет

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

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

object ( TollInfo )

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

speedReadingIntervals[]

object ( SpeedReadingInterval )

Интервалы скорости считывания, указывающие на плотность трафика. Это поле заполняется только для запросов, имеющих значение ComputeRoutesRequest.routing_preference TRAFFIC_AWARE или TRAFFIC_AWARE_OPTIMAL , и при этом 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 )

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

Обзор этапов

Предоставляет общую информацию о списке объектов RouteLegStep .

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

object ( MultiModalSegment )

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

Мультимодальный сегмент

Предоставляет сводную информацию о различных мультимодальных сегментах 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 , при этом отображаемый прямоугольник не может быть пустым (как указано в приведенных выше определениях). Пустой экран приведет к ошибке.

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

{ "низкая": { "широта": 40.477398, "долгота": -74.259087 }, "высокая": { "широта": 40.91618, "долгота": -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-представление
{
  "restrictionInfo": [
    {
      object (RestrictionInfo)
    }
  ],
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ]
}
Поля
restrictionInfo[]

object ( RestrictionInfo )

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

flyoverInfo[]

object ( FlyoverInfo )

Детали эстакады вдоль полилинии.

narrowRoadInfo[]

object ( NarrowRoadInfo )

Детали узкой дороги вдоль полилинии.

Информация об ограничениях

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

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

  // Union field restriction can be only one of the following:
  "restrictedHeightMm": string,
  "restrictedWeightKg": string,
  "hazardousGoods": boolean,
  "trucksProhibited": boolean
  // End of list of possible types for union field restriction.
}
Поля
restrictionPresence

enum ( RoadFeatureState )

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

polylinePointIndex

object ( PolylinePointIndex )

Расположение информации, связанной с ограничениями, вдоль полилинии.

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

string ( int64 format)

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

restrictedWeightKg

string ( int64 format)

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

hazardousGoods

boolean

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

trucksProhibited

boolean

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

RoadFeatureState

Отражает состояние дорожных объектов вдоль участка полилинии.

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

PolylinePointIndex

Указывает начальный и конечный индексы для детали полилинии. В случаях, когда данные соответствуют одной точке, startIndex и endIndex будут равны.

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

integer

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

endIndex

integer

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

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 )

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

Результаты геокодирования

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

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

object ( GeocodedWaypoint )

Исходная точка маршрута, геолокационная.

destination

object ( GeocodedWaypoint )

Координаты пункта назначения, полученные с помощью геолокации.

intermediates[]

object ( GeocodedWaypoint )

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

Геокодированная точка маршрута

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

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

object ( Status )

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

type[]

string

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

partialMatch

boolean

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

placeId

string

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

intermediateWaypointRequestIndex

integer

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