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 промежуточных путевых точек.

travel Mode

enum ( RouteTravelMode )

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

routing Preference

enum ( RoutingPreference )

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

polyline Quality

enum ( PolylineQuality )

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

polyline Encoding

enum ( PolylineEncoding )

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

departure Time

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

arrival Time

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

compute Alternative Routes

boolean

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

route Modifiers

object ( RouteModifiers )

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

language Code

string

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

region Code

string

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

units

enum ( Units )

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

optimize Waypoint Order

boolean

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

requested Reference Routes[]

enum ( ReferenceRoute )

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

extra Computations[]

enum ( ExtraComputation )

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

traffic Model

enum ( TrafficModel )

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

transit Preferences

object ( TransitPreferences )

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

Тело ответа

v2.computeПеренаправляет ответное сообщение.

В случае успеха тело ответа содержит данные следующей структуры:

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

object ( Route )

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

fallback Info

object ( FallbackInfo )

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

geocoding Results

object ( GeocodingResults )

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

ПолилинияКачество

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

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

ПолилинияКодирование

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

Перечисления
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 NavigationInstructions представлены в виде текстовой строки в формате 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)
  }
}
Поля
route Labels[]

enum ( RouteLabel )

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

legs[]

object ( RouteLeg )

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

distance Meters

integer

Дальность прохождения маршрута в метрах.

duration

string ( Duration format)

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

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

static Duration

string ( Duration format)

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

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

polyline

object ( Polyline )

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

description

string

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

warnings[]

string

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

viewport

object ( Viewport )

Ограничительная рамка видового экрана полилинии.

travel Advisory

object ( RouteTravelAdvisory )

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

optimized Intermediate Waypoint Index[]

integer

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

localized Values

object ( RouteLocalizedValues )

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

route Token

string

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

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

polyline Details

object ( PolylineDetails )

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

Метка маршрута

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

Перечисления
ROUTE_LABEL_UNSPECIFIED По умолчанию – не используется.
DEFAULT_ROUTE «Лучший» маршрут по умолчанию, возвращаемый для расчета маршрута.
DEFAULT_ROUTE_ALTERNATE Альтернатива «лучшему» маршруту по умолчанию. Маршруты, подобные этому, будут возвращены, если указан computeAlternativeRoutes .
FUEL_EFFICIENT Экономичный маршрут. Маршруты, отмеченные этим значением, считаются оптимизированными с учетом параметров Eco, таких как расход топлива.
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)
  }
}
Поля
distance Meters

integer

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

duration

string ( Duration format)

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

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

static Duration

string ( Duration format)

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

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

polyline

object ( Polyline )

Полная полилиния для этого участка, включающая полилинию каждого step .

start Location

object ( Location )

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

end Location

object ( Location )

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

steps[]

object ( RouteLegStep )

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

travel Advisory

object ( RouteLegTravelAdvisory )

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

localized Values

object ( RouteLegLocalizedValues )

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

steps Overview

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 может быть только одним из следующих:
encoded Polyline

string

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

geo Json Linestring

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)
}
Поля
distance Meters

integer

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

static Duration

string ( Duration format)

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

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

polyline

object ( Polyline )

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

start Location

object ( Location )

Начальное местоположение этого шага.

end Location

object ( Location )

Конечная позиция этого шага.

navigation Instruction

object ( NavigationInstruction )

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

travel Advisory

object ( RouteLegStepTravelAdvisory )

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

localized Values

object ( RouteLegStepLocalizedValues )

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

transit Details

object ( RouteLegStepTransitDetails )

Подробности, относящиеся к этому шагу, если режим движения — TRANSIT .

travel Mode

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)
    }
  ]
}
Поля
speed Reading Intervals[]

object ( SpeedReadingInterval )

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

МаршрутЛегШтепЛокализованныеЗначения

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

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

object ( LocalizedText )

Расстояние путешествия представлено в текстовой форме.

static Duration

object ( LocalizedText )

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

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

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

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

object ( TransitStopDetails )

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

localized Values

object ( TransitDetailsLocalizedValues )

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

headsign

string

Указывает направление движения по этой линии, указанное на транспортном средстве или на остановке отправления. Направление часто является конечной станцией.

headway

string ( Duration format)

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

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

transit Line

object ( TransitLine )

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

stop Count

integer

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

stopCount

возвращает 3.

trip Short Text

string

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

Транзитная остановкаПодробнее

Подробности о транзитных остановках для RouteLegStep .

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

object ( TransitStop )

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

arrival Time

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

departure Stop

object ( TransitStop )

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

departure Time

string ( Timestamp format)

Ориентировочное время выхода на шаг.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

ТранзитСтоп

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

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

string

Название транзитной остановки.

location

object ( Location )

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

TransitDetailsLocalizedValues

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

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

object ( LocalizedTime )

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

departure Time

object ( LocalizedTime )

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

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

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

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

object ( LocalizedText )

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

time Zone

string

Содержит часовой пояс. Значением является название часового пояса, определенное в базе данных часовых поясов IANA , например «Америка/Нью_Йорк».

ТранзитЛайн

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

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

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

icon Uri

string

URI для значка, связанного с этой строкой.

name Short

string

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

text Color

string

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

vehicle

object ( TransitVehicle )

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

Транзитное Агентство

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

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

string

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

phone Number

string

Номер телефона транзитного агентства, отформатированный в соответствии с региональным стандартом.

uri

string

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

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

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

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

object ( LocalizedText )

Название этого автомобиля, с большой буквы.

type

enum ( TransitVehicleType )

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

icon Uri

string

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

local Icon Uri

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)
    }
  ]
}
Поля
toll Info

object ( TollInfo )

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

speed Reading Intervals[]

object ( SpeedReadingInterval )

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

Пример:

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

МаршрутЛегЛокализованныеЗначения

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

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

object ( LocalizedText )

Расстояние путешествия представлено в текстовой форме.

duration

object ( LocalizedText )

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

static Duration

object ( LocalizedText )

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

ШагиОбзор

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

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

object ( MultiModalSegment )

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

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

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

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

object ( NavigationInstruction )

NavigationInstruction для мультимодального сегмента.

travel Mode

enum ( RouteTravelMode )

Режим путешествия мультимодального сегмента.

step Start Index

integer

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

step End Index

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 )

Необходимый. Самая высокая точка смотрового окна.

МаршрутLocalizedValues

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

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

object ( LocalizedText )

Расстояние путешествия представлено в текстовой форме.

duration

object ( LocalizedText )

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

static Duration

object ( LocalizedText )

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

transit Fare

object ( LocalizedText )

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

ПолилинияПодробнее

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

JSON-представление
{
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ]
}
Поля
flyover Info[]

object ( FlyoverInfo )

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

narrow Road Info[]

object ( NarrowRoadInfo )

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

FlyoverИнформация

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

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

enum ( RoadFeatureState )

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

polyline Point Index

object ( PolylinePointIndex )

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

ДорогаХарактеристикаСостояние

Инкапсулирует состояния объектов дороги вдоль участка полилинии.

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

ПолилинияПоинтИндекс

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

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

integer

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

end Index

integer

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

УзкаяДорогаИнформация

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

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

enum ( RoadFeatureState )

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

polyline Point Index

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
}
Поля
geocoder Status

object ( Status )

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

type[]

string

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

partial Match

boolean

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

place Id

string

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

intermediate Waypoint Request Index

integer

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

,

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

ПРИМЕЧАНИЕ. Для этого метода требуется указать маску поля ответа во входных данных. Вы можете предоставить маску поля ответа, используя параметр 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 промежуточных путевых точек.

travel Mode

enum ( RouteTravelMode )

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

routing Preference

enum ( RoutingPreference )

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

polyline Quality

enum ( PolylineQuality )

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

polyline Encoding

enum ( PolylineEncoding )

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

departure Time

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC "Zulu" с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

arrival Time

string ( Timestamp format)

Необязательный. Время прибытия. Примечание: может быть установлено только тогда, когда RouteTravelMode установлен на TRANSIT . Вы можете указать либо departureTime , либо arrivalTime , но не оба. Транзитные поездки доступны в течение 7 дней в прошлом или 100 дней в будущем.

Временная метка в формате RFC3339 UTC "Zulu" с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

compute Alternative Routes

boolean

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

route Modifiers

object ( RouteModifiers )

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

language Code

string

Необязательный. Языковой код BCP-47, такой как «En-US» или «SR-Latn». Для получения дополнительной информации см. Идентификатор локали Unicode . Смотрите языковую поддержку списка поддерживаемых языков. Когда вы не предоставляете это значение, язык отображения выводится из местоположения запроса маршрута.

region Code

string

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

units

enum ( Units )

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

optimize Waypoint Order

boolean

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

requested Reference Routes[]

enum ( ReferenceRoute )

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

extra Computations[]

enum ( ExtraComputation )

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

traffic Model

enum ( TrafficModel )

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

transit Preferences

object ( TransitPreferences )

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

Тело ответа

v2.computerouts отвечает на сообщение.

В случае успеха тело ответа содержит данные со следующей структурой:

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

object ( Route )

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

fallback Info

object ( FallbackInfo )

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

geocoding Results

object ( GeocodingResults )

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

Полилинвальт

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

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

Полинозодирование

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

Перечисление
POLYLINE_ENCODING_UNSPECIFIED Не указано предпочтение типа полилины. По умолчанию ENCODED_POLYLINE .
ENCODED_POLYLINE Определяет полилин, кодируемый с использованием алгоритма кодирования полилины .
GEO_JSON_LINESTRING Определяет полилин, используя формат Geojson Linestring

Ссылка

Поддерживаемый справочный маршрут на компьютерной области.

Перечисление
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 NavigationInstructions представленные в виде форматированной текстовой строки HTML. Этот контент предназначен для чтения как есть. Этот контент предназначен только для отображения. Не программно проанализируйте это.
FLYOVER_INFO_ON_POLYLINE Информация о эстакаде для маршрута. routes.polyline_details.flyover_info Fieldmask должен быть указан для возврата этой информации. Эти данные в настоящее время будут заполнены только для определенных метро в Индии. Эта функция экспериментальна, а SKU/заряд может быть изменена.
NARROW_ROAD_INFO_ON_POLYLINE Узкая информация о дороге для маршрута. routes.polyline_details.narrow_road_info Fieldmak должен быть указан для возврата этой информации. Эти данные в настоящее время будут заполнены только для определенных метро в Индии. Эта функция экспериментальна, а SKU/заряд может быть изменена.

Маршрут

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

Представление 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)
  }
}
Поля
route Labels[]

enum ( RouteLabel )

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

legs[]

object ( RouteLeg )

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

distance Meters

integer

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

duration

string ( Duration format)

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

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

static Duration

string ( Duration format)

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

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

polyline

object ( Polyline )

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

description

string

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

warnings[]

string

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

viewport

object ( Viewport )

Ограничивающая коробка просмотра полилины.

travel Advisory

object ( RouteTravelAdvisory )

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

optimized Intermediate Waypoint Index[]

integer

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

localized Values

object ( RouteLocalizedValues )

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

route Token

string

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

Примечание: Route.route_token доступен только для запросов, которые имеют установку ComputeRoutesRequest.routing_preference на TRAFFIC_AWARE или TRAFFIC_AWARE_OPTIMAL . Route.route_token не поддерживается для запросов, которые имеют путевые точки.

polyline Details

object ( PolylineDetails )

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

RouteLabel

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

Перечисление
ROUTE_LABEL_UNSPECIFIED По умолчанию - не используется.
DEFAULT_ROUTE По умолчанию «Лучший» маршрут вернулся для вычисления маршрута.
DEFAULT_ROUTE_ALTERNATE Альтернатива маршруту «Лучший» по умолчанию. Подобные маршруты будут возвращены, когда будет указана computeAlternativeRoutes .
FUEL_EFFICIENT Экономичный маршрут. Маршруты, помеченные этим значением, определяются как оптимизированные для параметров ECO, таких как расход топлива.
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)
  }
}
Поля
distance Meters

integer

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

duration

string ( Duration format)

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

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

static Duration

string ( Duration format)

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

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

polyline

object ( Polyline )

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

start Location

object ( Location )

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

end Location

object ( Location )

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

steps[]

object ( RouteLegStep )

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

travel Advisory

object ( RouteLegTravelAdvisory )

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

localized Values

object ( RouteLegLocalizedValues )

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

steps Overview

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 . Инкапсулирует тип полилинии. По умолчанию кодировать_полилин. polyline_type может быть только одним из следующих:
encoded Polyline

string

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

geo Json Linestring

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)
}
Поля
distance Meters

integer

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

static Duration

string ( Duration format)

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

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

polyline

object ( Polyline )

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

start Location

object ( Location )

Начало этого шага.

end Location

object ( Location )

Конечное местоположение этого шага.

navigation Instruction

object ( NavigationInstruction )

Навигационные инструкции.

travel Advisory

object ( RouteLegStepTravelAdvisory )

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

localized Values

object ( RouteLegStepLocalizedValues )

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

transit Details

object ( RouteLegStepTransitDetails )

Детали, относящиеся к этому шагу, если режим путешествий TRANSIT .

travel Mode

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

Routelegsteptraveladvisory

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

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

object ( SpeedReadingInterval )

Примечание: это поле в настоящее время не заполнено.

RoutelegsteplocalizedValues

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

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

object ( LocalizedText )

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

static Duration

object ( LocalizedText )

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

Routelegsteptransitdetails

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

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

object ( TransitStopDetails )

Информация о прибытии и отъезде останавливается на шаге.

localized Values

object ( TransitDetailsLocalizedValues )

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

headsign

string

Указывает направление, в котором можно перемещаться по этой линии, как отмечено на транспортном средстве или на остановке вылета. Направление часто является станцией термина.

headway

string ( Duration format)

Определяет ожидаемое время как продолжительность между отъездами от той же остановки в это время. Например, со значением Headway Seconds 600 вы ожидаете, что вы ожидаете, если вам следует пропустить свой автобус.

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

transit Line

object ( TransitLine )

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

stop Count

integer

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

stopCount

Возврат 3.

trip Short Text

string

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

Transitstopdetails

Подробная информация о транзитных остановках для RouteLegStep .

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

object ( TransitStop )

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

arrival Time

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC "Zulu" с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

departure Stop

object ( TransitStop )

Информация о остановке отъезда для шага.

departure Time

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC "Zulu" с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

Транзитстоп

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

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

string

Название транзитной остановки.

location

object ( Location )

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

TransitdetailSlocalizedValues

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

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

object ( LocalizedTime )

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

departure Time

object ( LocalizedTime )

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

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

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

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

object ( LocalizedText )

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

time Zone

string

Содержит часовой пояс. Значение - это название часового пояса, как определено в базе данных IANA Time Rate , например, «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

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

icon Uri

string

URI для значка, связанной с этой линией.

name Short

string

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

text Color

string

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

vehicle

object ( TransitVehicle )

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

Транстирантность

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

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

string

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

phone Number

string

Форматированный номер телефона транзитного агентства.

uri

string

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

Транзит

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

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

object ( LocalizedText )

Название этого автомобиля, капитализированное.

type

enum ( TransitVehicleType )

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

icon Uri

string

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

local Icon Uri

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)
    }
  ]
}
Поля
toll Info

object ( TollInfo )

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

speed Reading Intervals[]

object ( SpeedReadingInterval )

Интервалы скорости чтения детализируют плотность трафика. Применимо в случае TRAFFIC_AWARE и TRAFFIC_AWARE_OPTIMAL . Интервалы покрывают всю полилинию 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.

static Duration

object ( LocalizedText )

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

STESTORGEVERVIEW

Предоставляет обзор информации о списке RouteLegStep s.

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

object ( MultiModalSegment )

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

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

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

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

object ( NavigationInstruction )

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

travel Mode

enum ( RouteTravelMode )

Режим движения мультимодального сегмента.

step Start Index

integer

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

step End Index

integer

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

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

Широта длительного просмотра, представленное как два диагонали напротив low и high точек. Viewport считается закрытым регионом, то есть он включает в себя свою границу. Границы широты должны варьироваться от -90 до 90 градусов включено, а границы долготы должны варьироваться от -180 до 180 градусов включено. Различные случаи включают:

  • Если low = high , топорт Views состоит из этой единственной точки.

  • Если low.longitude > high.longitude .

  • Если low.longitude = -180 градусов и high.longitude .

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

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

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

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

{"low": {"Latitude": 40.477398, "Londitude": -74.259087}, "High": {"Latitude": 40.91618, "Londitude": -73.70018}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

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

object ( LatLng )

Необходимый. Низкая точка просмотра.

high

object ( LatLng )

Необходимый. Высшая точка просмотра.

RateLocalizedValues

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

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

object ( LocalizedText )

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

duration

object ( LocalizedText )

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

static Duration

object ( LocalizedText )

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

transit Fare

object ( LocalizedText )

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

Полилифинетисты

Детали, соответствующие данному индексу или смежному сегменту полилинии. Учитывая полилин с точками p_0, p_1, ..., p_n (индекс на основе нуля), PolylineDetails определяют интервал и связанные метаданные.

Представление JSON
{
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ]
}
Поля
flyover Info[]

object ( FlyoverInfo )

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

narrow Road Info[]

object ( NarrowRoadInfo )

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

RelooverInfo

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

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

enum ( RoadFeatureState )

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

polyline Point Index

object ( PolylinePointIndex )

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

Roadfeaturestate

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

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

PolylinePointIndex

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

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

integer

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

end Index

integer

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

Узкий роудфо

Инкапсулирует информацию о узких дорогах вдоль полилины.

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

enum ( RoadFeatureState )

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

polyline Point Index

object ( PolylinePointIndex )

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

Геокодингрессы

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

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

object ( GeocodedWaypoint )

Происхождение геокодированной путевой точки.

destination

object ( GeocodedWaypoint )

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

intermediates[]

object ( GeocodedWaypoint )

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

GeocodewayPoint

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

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

object ( Status )

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

type[]

string

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

partial Match

boolean

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

place Id

string

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

intermediate Waypoint Request Index

integer

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

,

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

ПРИМЕЧАНИЕ. Этот метод требует, чтобы вы указали маску поля ответа на входе. Вы можете предоставить маску поля ответа, используя $fields или fields параметров URL или с помощью заголовка 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 промежуточных путевых точек.

travel Mode

enum ( RouteTravelMode )

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

routing Preference

enum ( RoutingPreference )

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

polyline Quality

enum ( PolylineQuality )

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

polyline Encoding

enum ( PolylineEncoding )

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

departure Time

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC "Zulu" с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

arrival Time

string ( Timestamp format)

Необязательный. Время прибытия. Примечание: может быть установлено только тогда, когда RouteTravelMode установлен на TRANSIT . Вы можете указать либо departureTime , либо arrivalTime , но не оба. Транзитные поездки доступны в течение 7 дней в прошлом или 100 дней в будущем.

Временная метка в формате RFC3339 UTC "Zulu" с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

compute Alternative Routes

boolean

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

route Modifiers

object ( RouteModifiers )

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

language Code

string

Необязательный. Языковой код BCP-47, такой как «En-US» или «SR-Latn». Для получения дополнительной информации см. Идентификатор локали Unicode . Смотрите языковую поддержку списка поддерживаемых языков. Когда вы не предоставляете это значение, язык отображения выводится из местоположения запроса маршрута.

region Code

string

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

units

enum ( Units )

Необязательный. Определяет единицы измерения для полей дисплея. Эти поля включают поле instruction в NavigationInstruction . The units of measure used for the route, leg, step distance, and duration are not affected by this value. If you don't provide this value, then the display units are inferred from the location of the first origin.

optimize Waypoint Order

boolean

Необязательный. If set to true, the service attempts to minimize the overall cost of the route by re-ordering the specified intermediate waypoints. The request fails if any of the intermediate waypoints is a via waypoint. Use ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index to find the new ordering. If ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index is not requested in the X-Goog-FieldMask header, the request fails. If optimizeWaypointOrder is set to false, ComputeRoutesResponse.optimized_intermediate_waypoint_index will be empty.

requested Reference Routes[]

enum ( ReferenceRoute )

Необязательный. Specifies what reference routes to calculate as part of the request in addition to the default route. A reference route is a route with a different route calculation objective than the default route. For example a FUEL_EFFICIENT reference route calculation takes into account various parameters that would generate an optimal fuel efficient route. When using this feature, look for routeLabels on the resulting routes.

extra Computations[]

enum ( ExtraComputation )

Необязательный. A list of extra computations which may be used to complete the request. Note: These extra computations may return extra fields on the response. These extra fields must also be specified in the field mask to be returned in the response.

traffic Model

enum ( TrafficModel )

Необязательный. Specifies the assumptions to use when calculating time in traffic. This setting affects the value returned in the duration field in the Route and RouteLeg which contains the predicted time in traffic based on historical averages. TrafficModel is only available for requests that have set RoutingPreference to TRAFFIC_AWARE_OPTIMAL and RouteTravelMode to DRIVE . Defaults to BEST_GUESS if traffic is requested and TrafficModel is not specified.

transit Preferences

object ( TransitPreferences )

Необязательный. Specifies preferences that influence the route returned for TRANSIT routes. NOTE: You can only specify a transitPreferences when RouteTravelMode is set to TRANSIT .

Response body

v2.computeRoutes the response message.

If successful, the response body contains data with the following structure:

JSON representation
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
Поля
routes[]

object ( Route )

Contains an array of computed routes (up to three) when you specify compute_alternatives_routes , and contains just one route when you don't. When this array contains multiple entries, the first one is the most recommended route. If the array is empty, then it means no route could be found.

fallback Info

object ( FallbackInfo )

In some cases when the server is not able to compute the route results with all of the input preferences, it may fallback to using a different way of computation. When fallback mode is used, this field contains detailed info about the fallback response. Otherwise this field is unset.

geocoding Results

object ( GeocodingResults )

Contains geocoding response info for waypoints specified as addresses.

PolylineQuality

A set of values that specify the quality of the polyline.

Enums
POLYLINE_QUALITY_UNSPECIFIED No polyline quality preference specified. Defaults to OVERVIEW .
HIGH_QUALITY Specifies a high-quality polyline - which is composed using more points than OVERVIEW , at the cost of increased response size. Use this value when you need more precision.
OVERVIEW Specifies an overview polyline - which is composed using a small number of points. Use this value when displaying an overview of the route. Using this option has a lower request latency compared to using the HIGH_QUALITY option.

PolylineEncoding

Specifies the preferred type of polyline to be returned.

Enums
POLYLINE_ENCODING_UNSPECIFIED No polyline type preference specified. Defaults to ENCODED_POLYLINE .
ENCODED_POLYLINE Specifies a polyline encoded using the polyline encoding algorithm .
GEO_JSON_LINESTRING Specifies a polyline using the GeoJSON LineString format

ReferenceRoute

A supported reference route on the ComputeRoutesRequest.

Enums
REFERENCE_ROUTE_UNSPECIFIED Not used. Requests containing this value fail.
FUEL_EFFICIENT Fuel efficient route.
SHORTER_DISTANCE

Route with shorter travel distance. Это экспериментальная функция.

For DRIVE requests, this feature prioritizes shorter distance over driving comfort. For example, it may prefer local roads instead of highways, take dirt roads, cut through parking lots, etc. This feature does not return any maneuvers that Google Maps knows to be illegal.

For BICYCLE and TWO_WHEELER requests, this feature returns routes similar to those returned when you don't specify requestedReferenceRoutes .

This feature is not compatible with any other travel modes, via intermediate waypoints, or optimizeWaypointOrder ; such requests will fail. However, you can use it with any routingPreference .

ExtraComputation

Extra computations to perform while completing the request.

Enums
EXTRA_COMPUTATION_UNSPECIFIED Not used. Requests containing this value will fail.
TOLLS Toll information for the route(s).
FUEL_CONSUMPTION Estimated fuel consumption for the route(s).
TRAFFIC_ON_POLYLINE Traffic aware polylines for the route(s).
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions presented as a formatted HTML text string. This content is meant to be read as-is. This content is for display only. Do not programmatically parse it.
FLYOVER_INFO_ON_POLYLINE Flyover information for the route(s). The routes.polyline_details.flyover_info fieldmask must be specified to return this information. This data will only currently be populated for certain metros in India. This feature is experimental, and the SKU/charge is subject to change.
NARROW_ROAD_INFO_ON_POLYLINE Narrow road information for the route(s). The routes.polyline_details.narrow_road_info fieldmask must be specified to return this information. This data will only currently be populated for certain metros in India. This feature is experimental, and the SKU/charge is subject to change.

Маршрут

Contains a route, which consists of a series of connected road segments that join beginning, ending, and intermediate waypoints.

JSON representation
{
  "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)
  }
}
Поля
route Labels[]

enum ( RouteLabel )

Labels for the Route that are useful to identify specific properties of the route to compare against others.

legs[]

object ( RouteLeg )

A collection of legs (path segments between waypoints) that make up the route. Each leg corresponds to the trip between two non- via Waypoints . For example, a route with no intermediate waypoints has only one leg. A route that includes one non- via intermediate waypoint has two legs. A route that includes one via intermediate waypoint has one leg. The order of the legs matches the order of waypoints from origin to intermediates to destination .

distance Meters

integer

The travel distance of the route, in meters.

duration

string ( Duration format)

The length of time needed to navigate the route. If you set the routingPreference to TRAFFIC_UNAWARE , then this value is the same as staticDuration . If you set the routingPreference to either TRAFFIC_AWARE or TRAFFIC_AWARE_OPTIMAL , then this value is calculated taking traffic conditions into account.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

static Duration

string ( Duration format)

The duration of travel through the route without taking traffic conditions into consideration.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

polyline

object ( Polyline )

The overall route polyline. This polyline is the combined polyline of all legs .

description

string

A description of the route.

warnings[]

string

An array of warnings to show when displaying the route.

viewport

object ( Viewport )

The viewport bounding box of the polyline.

travel Advisory

object ( RouteTravelAdvisory )

Additional information about the route.

optimized Intermediate Waypoint Index[]

integer

If you set optimizeWaypointOrder to true, this field contains the optimized ordering of intermediate waypoints. Otherwise, this field is empty. For example, if you give an input of Origin: LA; Intermediate waypoints: Dallas, Bangor, Phoenix; Destination: New York; and the optimized intermediate waypoint order is Phoenix, Dallas, Bangor, then this field contains the values [2, 0, 1]. The index starts with 0 for the first intermediate waypoint provided in the input.

localized Values

object ( RouteLocalizedValues )

Text representations of properties of the Route .

route Token

string

An opaque token that can be passed to Navigation SDK to reconstruct the route during navigation, and, in the event of rerouting, honor the original intention when the route was created. Treat this token as an opaque blob. Don't compare its value across requests as its value may change even if the service returns the exact same route.

NOTE: Route.route_token is only available for requests that have set ComputeRoutesRequest.routing_preference to TRAFFIC_AWARE or TRAFFIC_AWARE_OPTIMAL . Route.route_token is not supported for requests that have Via waypoints.

polyline Details

object ( PolylineDetails )

Contains information about details along the polyline.

RouteLabel

Labels for the Route that are useful to identify specific properties of the route to compare against others.

Enums
ROUTE_LABEL_UNSPECIFIED Default - not used.
DEFAULT_ROUTE The default "best" route returned for the route computation.
DEFAULT_ROUTE_ALTERNATE An alternative to the default "best" route. Routes like this will be returned when computeAlternativeRoutes is specified.
FUEL_EFFICIENT Fuel efficient route. Routes labeled with this value are determined to be optimized for Eco parameters such as fuel consumption.
SHORTER_DISTANCE Shorter travel distance route. Это экспериментальная функция.

RouteLeg

Contains a segment between non- via waypoints.

JSON representation
{
  "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)
  }
}
Поля
distance Meters

integer

The travel distance of the route leg, in meters.

duration

string ( Duration format)

The length of time needed to navigate the leg. If the route_preference is set to TRAFFIC_UNAWARE , then this value is the same as staticDuration . If the route_preference is either TRAFFIC_AWARE or TRAFFIC_AWARE_OPTIMAL , then this value is calculated taking traffic conditions into account.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

static Duration

string ( Duration format)

The duration of travel through the leg, calculated without taking traffic conditions into consideration.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

polyline

object ( Polyline )

The overall polyline for this leg that includes each step 's polyline.

start Location

object ( Location )

The start location of this leg. This location might be different from the provided origin . For example, when the provided origin is not near a road, this is a point on the road.

end Location

object ( Location )

The end location of this leg. This location might be different from the provided destination . For example, when the provided destination is not near a road, this is a point on the road.

steps[]

object ( RouteLegStep )

An array of steps denoting segments within this leg. Each step represents one navigation instruction.

travel Advisory

object ( RouteLegTravelAdvisory )

Contains the additional information that the user should be informed about, such as possible traffic zone restrictions, on a route leg.

localized Values

object ( RouteLegLocalizedValues )

Text representations of properties of the RouteLeg .

steps Overview

object ( StepsOverview )

Overview information about the steps in this RouteLeg . This field is only populated for TRANSIT routes.

Полилиния

Encapsulates an encoded polyline.

JSON representation
{

  // 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.
}
Поля
Union field polyline_type . Encapsulates the type of polyline. Defaults to encoded_polyline. polyline_type can be only one of the following:
encoded Polyline

string

The string encoding of the polyline using the polyline encoding algorithm

geo Json Linestring

object ( Struct format)

Specifies a polyline using the GeoJSON LineString format .

RouteLegStep

Contains a segment of a RouteLeg . A step corresponds to a single navigation instruction. Route legs are made up of steps.

JSON representation
{
  "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)
}
Поля
distance Meters

integer

The travel distance of this step, in meters. In some circumstances, this field might not have a value.

static Duration

string ( Duration format)

The duration of travel through this step without taking traffic conditions into consideration. In some circumstances, this field might not have a value.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

polyline

object ( Polyline )

The polyline associated with this step.

start Location

object ( Location )

The start location of this step.

end Location

object ( Location )

The end location of this step.

navigation Instruction

object ( NavigationInstruction )

Navigation instructions.

travel Advisory

object ( RouteLegStepTravelAdvisory )

Contains the additional information that the user should be informed about, such as possible traffic zone restrictions, on a leg step.

localized Values

object ( RouteLegStepLocalizedValues )

Text representations of properties of the RouteLegStep .

transit Details

object ( RouteLegStepTransitDetails )

Details pertaining to this step if the travel mode is TRANSIT .

travel Mode

enum ( RouteTravelMode )

The travel mode used for this step.

Маневр

A set of values that specify the navigation action to take for the current step (for example, turn left, merge, or straight).

Enums
MANEUVER_UNSPECIFIED Not used.
TURN_SLIGHT_LEFT Turn slightly to the left.
TURN_SHARP_LEFT Turn sharply to the left.
UTURN_LEFT Make a left u-turn.
TURN_LEFT Поверните налево.
TURN_SLIGHT_RIGHT Turn slightly to the right.
TURN_SHARP_RIGHT Turn sharply to the right.
UTURN_RIGHT Make a right u-turn.
TURN_RIGHT Поверните направо.
STRAIGHT Езжайте прямо.
RAMP_LEFT Take the left ramp.
RAMP_RIGHT Take the right ramp.
MERGE Merge into traffic.
FORK_LEFT Take the left fork.
FORK_RIGHT Take the right fork.
FERRY Take the ferry.
FERRY_TRAIN Take the train leading onto the ferry.
ROUNDABOUT_LEFT Turn left at the roundabout.
ROUNDABOUT_RIGHT Turn right at the roundabout.
DEPART Initial maneuver.
NAME_CHANGE Used to indicate a street name change.

RouteLegStepTravelAdvisory

Contains the additional information that the user should be informed about, such as possible traffic zone restrictions on a leg step.

JSON representation
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Поля
speed Reading Intervals[]

object ( SpeedReadingInterval )

NOTE: This field is not currently populated.

RouteLegStepLocalizedValues

Text representations of certain properties.

JSON representation
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Поля
distance

object ( LocalizedText )

Travel distance represented in text form.

static Duration

object ( LocalizedText )

Duration without taking traffic conditions into consideration, represented in text form.

RouteLegStepTransitDetails

Additional information for the RouteLegStep related to TRANSIT routes.

JSON representation
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
Поля
stop Details

object ( TransitStopDetails )

Information about the arrival and departure stops for the step.

localized Values

object ( TransitDetailsLocalizedValues )

Text representations of properties of the RouteLegStepTransitDetails .

headsign

string

Specifies the direction in which to travel on this line as marked on the vehicle or at the departure stop. The direction is often the terminus station.

headway

string ( Duration format)

Specifies the expected time as a duration between departures from the same stop at this time. For example, with a headway seconds value of 600, you would expect a ten minute wait if you should miss your bus.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

transit Line

object ( TransitLine )

Information about the transit line used in this step.

stop Count

integer

The number of stops from the departure to the arrival stop. This count includes the arrival stop, but excludes the departure stop. For example, if your route leaves from Stop A, passes through stops B and C, and arrives at stop D,

stopCount

returns 3.

trip Short Text

string

The text that appears in schedules and sign boards to identify a transit trip to passengers. The text should uniquely identify a trip within a service day. For example, "538" is the tripShortText of the Amtrak train that leaves San Jose, CA at 15:10 on weekdays to Sacramento, CA.

TransitStopDetails

Details about the transit stops for the RouteLegStep .

JSON representation
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
Поля
arrival Stop

object ( TransitStop )

Information about the arrival stop for the step.

arrival Time

string ( Timestamp format)

The estimated time of arrival for the step.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z" .

departure Stop

object ( TransitStop )

Information about the departure stop for the step.

departure Time

string ( Timestamp format)

The estimated time of departure for the step.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z" .

TransitStop

Information about a transit stop.

JSON representation
{
  "name": string,
  "location": {
    object (Location)
  }
}
Поля
name

string

The name of the transit stop.

location

object ( Location )

The location of the stop expressed in latitude/longitude coordinates.

TransitDetailsLocalizedValues

Localized descriptions of values for RouteTransitDetails .

JSON representation
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
Поля
arrival Time

object ( LocalizedTime )

Time in its formatted text representation with a corresponding time zone.

departure Time

object ( LocalizedTime )

Time in its formatted text representation with a corresponding time zone.

LocalizedTime

Localized description of time.

JSON representation
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
Поля
time

object ( LocalizedText )

The time specified as a string in a given time zone.

time Zone

string

Contains the time zone. The value is the name of the time zone as defined in the IANA Time Zone Database , eg "America/New_York".

TransitLine

Contains information about the transit line used in this step.

JSON representation
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
Поля
agencies[]

object ( TransitAgency )

The transit agency (or agencies) that operates this transit line.

name

string

The full name of this transit line, For example, "8 Avenue Local".

uri

string

the URI for this transit line as provided by the transit agency.

color

string

The color commonly used in signage for this line. Represented in hexadecimal.

icon Uri

string

The URI for the icon associated with this line.

name Short

string

The short name of this transit line. This name will normally be a line number, such as "M7" or "355".

text Color

string

The color commonly used in text on signage for this line. Represented in hexadecimal.

vehicle

object ( TransitVehicle )

The type of vehicle that operates on this transit line.

TransitAgency

A transit agency that operates a transit line.

JSON representation
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
Поля
name

string

The name of this transit agency.

phone Number

string

The transit agency's locale-specific formatted phone number.

uri

string

The transit agency's URI.

TransitVehicle

Information about a vehicle used in transit routes.

JSON representation
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
Поля
name

object ( LocalizedText )

The name of this vehicle, capitalized.

type

enum ( TransitVehicleType )

The type of vehicle used.

icon Uri

string

The URI for an icon associated with this vehicle type.

local Icon Uri

string

The URI for the icon associated with this vehicle type, based on the local transport signage.

TransitVehicleType

The type of vehicles for transit routes.

Enums
TRANSIT_VEHICLE_TYPE_UNSPECIFIED Unused.
BUS Автобус.
CABLE_CAR A vehicle that operates on a cable, usually on the ground. Aerial cable cars may be of the type GONDOLA_LIFT .
COMMUTER_TRAIN Commuter rail.
FERRY Перевозить.
FUNICULAR A vehicle that is pulled up a steep incline by a cable. A Funicular typically consists of two cars, with each car acting as a counterweight for the other.
GONDOLA_LIFT An aerial cable car.
HEAVY_RAIL Heavy rail.
HIGH_SPEED_TRAIN High speed train.
INTERCITY_BUS Intercity bus.
LONG_DISTANCE_TRAIN Long distance train.
METRO_RAIL Light rail transit.
MONORAIL Монорельс.
OTHER All other vehicles.
RAIL Rail.
SHARE_TAXI Share taxi is a kind of bus with the ability to drop off and pick up passengers anywhere on its route.
SUBWAY Underground light rail.
TRAM Above ground light rail.
TROLLEYBUS Trolleybus.

RouteLegTravelAdvisory

Contains the additional information that the user should be informed about on a leg step, such as possible traffic zone restrictions.

JSON representation
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Поля
toll Info

object ( TollInfo )

Contains information about tolls on the specific RouteLeg . This field is only populated if we expect there are tolls on the RouteLeg . If this field is set but the estimatedPrice subfield is not populated, we expect that road contains tolls but we do not know an estimated price. If this field does not exist, then there is no toll on the RouteLeg .

speed Reading Intervals[]

object ( SpeedReadingInterval )

Speed reading intervals detailing traffic density. Applicable in case of TRAFFIC_AWARE and TRAFFIC_AWARE_OPTIMAL routing preferences. The intervals cover the entire polyline of the RouteLeg without overlap. The start point of a specified interval is the same as the end point of the preceding interval.

Пример:

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

RouteLegLocalizedValues

Text representations of certain properties.

JSON representation
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Поля
distance

object ( LocalizedText )

Travel distance represented in text form.

duration

object ( LocalizedText )

Duration, represented in text form and localized to the region of the query. Takes traffic conditions into consideration. Note: If you did not request traffic information, this value is the same value as staticDuration.

static Duration

object ( LocalizedText )

Duration without taking traffic conditions into consideration, represented in text form.

StepsOverview

Provides overview information about a list of RouteLegStep s.

JSON representation
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
Поля
multi Modal Segments[]

object ( MultiModalSegment )

Summarized information about different multi-modal segments of the RouteLeg.steps . This field is not populated if the RouteLeg does not contain any multi-modal segments in the steps.

MultiModalSegment

Provides summarized information about different multi-modal segments of the RouteLeg.steps . A multi-modal segment is defined as one or more contiguous RouteLegStep that have the same RouteTravelMode . This field is not populated if the RouteLeg does not contain any multi-modal segments in the steps.

JSON representation
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
Поля
navigation Instruction

object ( NavigationInstruction )

NavigationInstruction for the multi-modal segment.

travel Mode

enum ( RouteTravelMode )

The travel mode of the multi-modal segment.

step Start Index

integer

The corresponding RouteLegStep index that is the start of a multi-modal segment.

step End Index

integer

The corresponding RouteLegStep index that is the end of a multi-modal segment.

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

A latitude-longitude viewport, represented as two diagonally opposite low and high points. A viewport is considered a closed region, ie it includes its boundary. The latitude bounds must range between -90 to 90 degrees inclusive, and the longitude bounds must range between -180 to 180 degrees inclusive. Various cases include:

  • If low = high , the viewport consists of that single point.

  • If low.longitude > high.longitude , the longitude range is inverted (the viewport crosses the 180 degree longitude line).

  • If low.longitude = -180 degrees and high.longitude = 180 degrees, the viewport includes all longitudes.

  • If low.longitude = 180 degrees and high.longitude = -180 degrees, the longitude range is empty.

  • If low.latitude > high.latitude , the latitude range is empty.

Both low and high must be populated, and the represented box cannot be empty (as specified by the definitions above). An empty viewport will result in an error.

For example, this viewport fully encloses New York City:

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

JSON representation
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
Поля
low

object ( LatLng )

Необходимый. The low point of the viewport.

high

object ( LatLng )

Необходимый. The high point of the viewport.

RouteLocalizedValues

Text representations of certain properties.

JSON representation
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Поля
distance

object ( LocalizedText )

Travel distance represented in text form.

duration

object ( LocalizedText )

Duration, represented in text form and localized to the region of the query. Takes traffic conditions into consideration. Note: If you did not request traffic information, this value is the same value as staticDuration .

static Duration

object ( LocalizedText )

Duration without taking traffic conditions into consideration, represented in text form.

transit Fare

object ( LocalizedText )

Transit fare represented in text form.

PolylineDetails

Details corresponding to a given index or contiguous segment of a polyline. Given a polyline with points P_0, P_1, ... , P_N (zero-based index), the PolylineDetails defines an interval and associated metadata.

JSON representation
{
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ]
}
Поля
flyover Info[]

object ( FlyoverInfo )

Flyover details along the polyline.

narrow Road Info[]

object ( NarrowRoadInfo )

Narrow road details along the polyline.

FlyoverInfo

Encapsulates information about flyovers along the polyline.

JSON representation
{
  "flyoverPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Поля
flyover Presence

enum ( RoadFeatureState )

Только вывод. Denotes whether a flyover exists for a given stretch of the polyline.

polyline Point Index

object ( PolylinePointIndex )

The location of flyover related information along the polyline.

RoadFeatureState

Encapsulates the states of road features along a stretch of polyline.

Enums
ROAD_FEATURE_STATE_UNSPECIFIED The road feature's state was not computed (default value).
EXISTS The road feature exists.
DOES_NOT_EXIST The road feature does not exist.

PolylinePointIndex

Encapsulates the start and end indexes for a polyline detail. For instances where the data corresponds to a single point, startIndex and endIndex will be equal.

JSON representation
{
  "startIndex": integer,
  "endIndex": integer
}
Поля
start Index

integer

The start index of this detail in the polyline.

end Index

integer

The end index of this detail in the polyline.

NarrowRoadInfo

Encapsulates information about narrow roads along the polyline.

JSON representation
{
  "narrowRoadPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Поля
narrow Road Presence

enum ( RoadFeatureState )

Только вывод. Denotes whether a narrow road exists for a given stretch of the polyline.

polyline Point Index

object ( PolylinePointIndex )

The location of narrow road related information along the polyline.

GeocodingResults

Contains GeocodedWaypoints for origin, destination and intermediate waypoints. Only populated for address waypoints.

JSON representation
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
Поля
origin

object ( GeocodedWaypoint )

Origin geocoded waypoint.

destination

object ( GeocodedWaypoint )

Destination geocoded waypoint.

intermediates[]

object ( GeocodedWaypoint )

A list of intermediate geocoded waypoints each containing an index field that corresponds to the zero-based position of the waypoint in the order they were specified in the request.

GeocodedWaypoint

Details about the locations used as waypoints. Only populated for address waypoints. Includes details about the geocoding results for the purposes of determining what the address was geocoded to.

JSON representation
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
Поля
geocoder Status

object ( Status )

Indicates the status code resulting from the geocoding operation.

type[]

string

The type(s) of the result, in the form of zero or more type tags. Supported types: Address types and address component types .

partial Match

boolean

Indicates that the geocoder did not return an exact match for the original request, though it was able to match part of the requested address. You may wish to examine the original request for misspellings and/or an incomplete address.

place Id

string

The place ID for this result.

intermediate Waypoint Request Index

integer

The index of the corresponding intermediate waypoint in the request. Only populated if the corresponding waypoint is an intermediate waypoint.

,

Returns the primary route along with optional alternate routes, given a set of terminal and intermediate waypoints.

NOTE: This method requires that you specify a response field mask in the input. You can provide the response field mask by using URL parameter $fields or fields , or by using an HTTP/gRPC header X-Goog-FieldMask (see the available URL parameters and headers ). The value is a comma separated list of field paths. See detailed documentation about how to construct the field paths .

For example, in this method:

  • Field mask of all available fields (for manual inspection): X-Goog-FieldMask: *
  • Field mask of Route-level duration, distance, and polyline (an example production setup): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google discourage the use of the wildcard ( * ) response field mask, or specifying the field mask at the top level ( routes ), because:

  • Selecting only the fields that you need helps our server save computation cycles, allowing us to return the result to you with a lower latency.
  • Selecting only the fields that you need in your production job ensures stable latency performance. We might add more response fields in the future, and those new fields might require extra computation time. If you select all fields, or if you select all fields at the top level, then you might experience performance degradation because any new field we add will be automatically included in the response.
  • Selecting only the fields that you need results in a smaller response size, and thus higher network throughput.

HTTP request

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

The URL uses gRPC Transcoding syntax.

Тело запроса

The request body contains data with the following structure:

JSON representation
{
  "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 )

Необходимый. Origin waypoint.

destination

object ( Waypoint )

Необходимый. Destination waypoint.

intermediates[]

object ( Waypoint )

Необязательный. A set of waypoints along the route (excluding terminal points), for either stopping at or passing by. Up to 25 intermediate waypoints are supported.

travel Mode

enum ( RouteTravelMode )

Необязательный. Specifies the mode of transportation.

routing Preference

enum ( RoutingPreference )

Необязательный. Specifies how to compute the route. The server attempts to use the selected routing preference to compute the route. If the routing preference results in an error or an extra long latency, then an error is returned. You can specify this option only when the travelMode is DRIVE or TWO_WHEELER , otherwise the request fails.

polyline Quality

enum ( PolylineQuality )

Необязательный. Specifies your preference for the quality of the polyline.

polyline Encoding

enum ( PolylineEncoding )

Необязательный. Specifies the preferred encoding for the polyline.

departure Time

string ( Timestamp format)

Необязательный. The departure time. If you don't set this value, then this value defaults to the time that you made the request. NOTE: You can only specify a departureTime in the past when RouteTravelMode is set to TRANSIT . Transit trips are available for up to 7 days in the past or 100 days in the future.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z" .

arrival Time

string ( Timestamp format)

Необязательный. The arrival time. NOTE: Can only be set when RouteTravelMode is set to TRANSIT . You can specify either departureTime or arrivalTime , but not both. Transit trips are available for up to 7 days in the past or 100 days in the future.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z" .

compute Alternative Routes

boolean

Необязательный. Specifies whether to calculate alternate routes in addition to the route. No alternative routes are returned for requests that have intermediate waypoints.

route Modifiers

object ( RouteModifiers )

Необязательный. A set of conditions to satisfy that affect the way routes are calculated.

language Code

string

Необязательный. The BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see Unicode Locale Identifier . See Language Support for the list of supported languages. When you don't provide this value, the display language is inferred from the location of the route request.

region Code

string

Необязательный. The region code, specified as a ccTLD ("top-level domain") two-character value. For more information see Country code top-level domains .

units

enum ( Units )

Необязательный. Specifies the units of measure for the display fields. These fields include the instruction field in NavigationInstruction . The units of measure used for the route, leg, step distance, and duration are not affected by this value. If you don't provide this value, then the display units are inferred from the location of the first origin.

optimize Waypoint Order

boolean

Необязательный. If set to true, the service attempts to minimize the overall cost of the route by re-ordering the specified intermediate waypoints. The request fails if any of the intermediate waypoints is a via waypoint. Use ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index to find the new ordering. If ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index is not requested in the X-Goog-FieldMask header, the request fails. If optimizeWaypointOrder is set to false, ComputeRoutesResponse.optimized_intermediate_waypoint_index will be empty.

requested Reference Routes[]

enum ( ReferenceRoute )

Необязательный. Specifies what reference routes to calculate as part of the request in addition to the default route. A reference route is a route with a different route calculation objective than the default route. For example a FUEL_EFFICIENT reference route calculation takes into account various parameters that would generate an optimal fuel efficient route. When using this feature, look for routeLabels on the resulting routes.

extra Computations[]

enum ( ExtraComputation )

Необязательный. A list of extra computations which may be used to complete the request. Note: These extra computations may return extra fields on the response. These extra fields must also be specified in the field mask to be returned in the response.

traffic Model

enum ( TrafficModel )

Необязательный. Specifies the assumptions to use when calculating time in traffic. This setting affects the value returned in the duration field in the Route and RouteLeg which contains the predicted time in traffic based on historical averages. TrafficModel is only available for requests that have set RoutingPreference to TRAFFIC_AWARE_OPTIMAL and RouteTravelMode to DRIVE . Defaults to BEST_GUESS if traffic is requested and TrafficModel is not specified.

transit Preferences

object ( TransitPreferences )

Необязательный. Specifies preferences that influence the route returned for TRANSIT routes. NOTE: You can only specify a transitPreferences when RouteTravelMode is set to TRANSIT .

Response body

v2.computeRoutes the response message.

If successful, the response body contains data with the following structure:

JSON representation
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
Поля
routes[]

object ( Route )

Contains an array of computed routes (up to three) when you specify compute_alternatives_routes , and contains just one route when you don't. When this array contains multiple entries, the first one is the most recommended route. If the array is empty, then it means no route could be found.

fallback Info

object ( FallbackInfo )

In some cases when the server is not able to compute the route results with all of the input preferences, it may fallback to using a different way of computation. When fallback mode is used, this field contains detailed info about the fallback response. Otherwise this field is unset.

geocoding Results

object ( GeocodingResults )

Contains geocoding response info for waypoints specified as addresses.

PolylineQuality

A set of values that specify the quality of the polyline.

Enums
POLYLINE_QUALITY_UNSPECIFIED No polyline quality preference specified. Defaults to OVERVIEW .
HIGH_QUALITY Specifies a high-quality polyline - which is composed using more points than OVERVIEW , at the cost of increased response size. Use this value when you need more precision.
OVERVIEW Specifies an overview polyline - which is composed using a small number of points. Use this value when displaying an overview of the route. Using this option has a lower request latency compared to using the HIGH_QUALITY option.

PolylineEncoding

Specifies the preferred type of polyline to be returned.

Enums
POLYLINE_ENCODING_UNSPECIFIED No polyline type preference specified. Defaults to ENCODED_POLYLINE .
ENCODED_POLYLINE Specifies a polyline encoded using the polyline encoding algorithm .
GEO_JSON_LINESTRING Specifies a polyline using the GeoJSON LineString format

ReferenceRoute

A supported reference route on the ComputeRoutesRequest.

Enums
REFERENCE_ROUTE_UNSPECIFIED Not used. Requests containing this value fail.
FUEL_EFFICIENT Fuel efficient route.
SHORTER_DISTANCE

Route with shorter travel distance. Это экспериментальная функция.

For DRIVE requests, this feature prioritizes shorter distance over driving comfort. For example, it may prefer local roads instead of highways, take dirt roads, cut through parking lots, etc. This feature does not return any maneuvers that Google Maps knows to be illegal.

For BICYCLE and TWO_WHEELER requests, this feature returns routes similar to those returned when you don't specify requestedReferenceRoutes .

This feature is not compatible with any other travel modes, via intermediate waypoints, or optimizeWaypointOrder ; such requests will fail. However, you can use it with any routingPreference .

ExtraComputation

Extra computations to perform while completing the request.

Enums
EXTRA_COMPUTATION_UNSPECIFIED Not used. Requests containing this value will fail.
TOLLS Toll information for the route(s).
FUEL_CONSUMPTION Estimated fuel consumption for the route(s).
TRAFFIC_ON_POLYLINE Traffic aware polylines for the route(s).
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions presented as a formatted HTML text string. This content is meant to be read as-is. This content is for display only. Do not programmatically parse it.
FLYOVER_INFO_ON_POLYLINE Flyover information for the route(s). The routes.polyline_details.flyover_info fieldmask must be specified to return this information. This data will only currently be populated for certain metros in India. This feature is experimental, and the SKU/charge is subject to change.
NARROW_ROAD_INFO_ON_POLYLINE Narrow road information for the route(s). The routes.polyline_details.narrow_road_info fieldmask must be specified to return this information. This data will only currently be populated for certain metros in India. This feature is experimental, and the SKU/charge is subject to change.

Маршрут

Contains a route, which consists of a series of connected road segments that join beginning, ending, and intermediate waypoints.

JSON representation
{
  "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)
  }
}
Поля
route Labels[]

enum ( RouteLabel )

Labels for the Route that are useful to identify specific properties of the route to compare against others.

legs[]

object ( RouteLeg )

A collection of legs (path segments between waypoints) that make up the route. Each leg corresponds to the trip between two non- via Waypoints . For example, a route with no intermediate waypoints has only one leg. A route that includes one non- via intermediate waypoint has two legs. A route that includes one via intermediate waypoint has one leg. The order of the legs matches the order of waypoints from origin to intermediates to destination .

distance Meters

integer

The travel distance of the route, in meters.

duration

string ( Duration format)

The length of time needed to navigate the route. If you set the routingPreference to TRAFFIC_UNAWARE , then this value is the same as staticDuration . If you set the routingPreference to either TRAFFIC_AWARE or TRAFFIC_AWARE_OPTIMAL , then this value is calculated taking traffic conditions into account.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

static Duration

string ( Duration format)

The duration of travel through the route without taking traffic conditions into consideration.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

polyline

object ( Polyline )

The overall route polyline. This polyline is the combined polyline of all legs .

description

string

A description of the route.

warnings[]

string

An array of warnings to show when displaying the route.

viewport

object ( Viewport )

The viewport bounding box of the polyline.

travel Advisory

object ( RouteTravelAdvisory )

Additional information about the route.

optimized Intermediate Waypoint Index[]

integer

If you set optimizeWaypointOrder to true, this field contains the optimized ordering of intermediate waypoints. Otherwise, this field is empty. For example, if you give an input of Origin: LA; Intermediate waypoints: Dallas, Bangor, Phoenix; Destination: New York; and the optimized intermediate waypoint order is Phoenix, Dallas, Bangor, then this field contains the values [2, 0, 1]. The index starts with 0 for the first intermediate waypoint provided in the input.

localized Values

object ( RouteLocalizedValues )

Text representations of properties of the Route .

route Token

string

An opaque token that can be passed to Navigation SDK to reconstruct the route during navigation, and, in the event of rerouting, honor the original intention when the route was created. Treat this token as an opaque blob. Don't compare its value across requests as its value may change even if the service returns the exact same route.

NOTE: Route.route_token is only available for requests that have set ComputeRoutesRequest.routing_preference to TRAFFIC_AWARE or TRAFFIC_AWARE_OPTIMAL . Route.route_token is not supported for requests that have Via waypoints.

polyline Details

object ( PolylineDetails )

Contains information about details along the polyline.

RouteLabel

Labels for the Route that are useful to identify specific properties of the route to compare against others.

Enums
ROUTE_LABEL_UNSPECIFIED Default - not used.
DEFAULT_ROUTE The default "best" route returned for the route computation.
DEFAULT_ROUTE_ALTERNATE An alternative to the default "best" route. Routes like this will be returned when computeAlternativeRoutes is specified.
FUEL_EFFICIENT Fuel efficient route. Routes labeled with this value are determined to be optimized for Eco parameters such as fuel consumption.
SHORTER_DISTANCE Shorter travel distance route. Это экспериментальная функция.

RouteLeg

Contains a segment between non- via waypoints.

JSON representation
{
  "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)
  }
}
Поля
distance Meters

integer

The travel distance of the route leg, in meters.

duration

string ( Duration format)

The length of time needed to navigate the leg. If the route_preference is set to TRAFFIC_UNAWARE , then this value is the same as staticDuration . If the route_preference is either TRAFFIC_AWARE or TRAFFIC_AWARE_OPTIMAL , then this value is calculated taking traffic conditions into account.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

static Duration

string ( Duration format)

The duration of travel through the leg, calculated without taking traffic conditions into consideration.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

polyline

object ( Polyline )

The overall polyline for this leg that includes each step 's polyline.

start Location

object ( Location )

The start location of this leg. This location might be different from the provided origin . For example, when the provided origin is not near a road, this is a point on the road.

end Location

object ( Location )

The end location of this leg. This location might be different from the provided destination . For example, when the provided destination is not near a road, this is a point on the road.

steps[]

object ( RouteLegStep )

An array of steps denoting segments within this leg. Each step represents one navigation instruction.

travel Advisory

object ( RouteLegTravelAdvisory )

Contains the additional information that the user should be informed about, such as possible traffic zone restrictions, on a route leg.

localized Values

object ( RouteLegLocalizedValues )

Text representations of properties of the RouteLeg .

steps Overview

object ( StepsOverview )

Overview information about the steps in this RouteLeg . This field is only populated for TRANSIT routes.

Полилиния

Encapsulates an encoded polyline.

JSON representation
{

  // 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.
}
Поля
Union field polyline_type . Encapsulates the type of polyline. Defaults to encoded_polyline. polyline_type can be only one of the following:
encoded Polyline

string

The string encoding of the polyline using the polyline encoding algorithm

geo Json Linestring

object ( Struct format)

Specifies a polyline using the GeoJSON LineString format .

RouteLegStep

Contains a segment of a RouteLeg . A step corresponds to a single navigation instruction. Route legs are made up of steps.

JSON representation
{
  "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)
}
Поля
distance Meters

integer

The travel distance of this step, in meters. In some circumstances, this field might not have a value.

static Duration

string ( Duration format)

The duration of travel through this step without taking traffic conditions into consideration. In some circumstances, this field might not have a value.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

polyline

object ( Polyline )

The polyline associated with this step.

start Location

object ( Location )

The start location of this step.

end Location

object ( Location )

The end location of this step.

navigation Instruction

object ( NavigationInstruction )

Navigation instructions.

travel Advisory

object ( RouteLegStepTravelAdvisory )

Contains the additional information that the user should be informed about, such as possible traffic zone restrictions, on a leg step.

localized Values

object ( RouteLegStepLocalizedValues )

Text representations of properties of the RouteLegStep .

transit Details

object ( RouteLegStepTransitDetails )

Details pertaining to this step if the travel mode is TRANSIT .

travel Mode

enum ( RouteTravelMode )

The travel mode used for this step.

Маневр

A set of values that specify the navigation action to take for the current step (for example, turn left, merge, or straight).

Enums
MANEUVER_UNSPECIFIED Not used.
TURN_SLIGHT_LEFT Turn slightly to the left.
TURN_SHARP_LEFT Turn sharply to the left.
UTURN_LEFT Make a left u-turn.
TURN_LEFT Поверните налево.
TURN_SLIGHT_RIGHT Turn slightly to the right.
TURN_SHARP_RIGHT Turn sharply to the right.
UTURN_RIGHT Make a right u-turn.
TURN_RIGHT Поверните направо.
STRAIGHT Езжайте прямо.
RAMP_LEFT Take the left ramp.
RAMP_RIGHT Take the right ramp.
MERGE Merge into traffic.
FORK_LEFT Take the left fork.
FORK_RIGHT Take the right fork.
FERRY Take the ferry.
FERRY_TRAIN Take the train leading onto the ferry.
ROUNDABOUT_LEFT Turn left at the roundabout.
ROUNDABOUT_RIGHT Turn right at the roundabout.
DEPART Initial maneuver.
NAME_CHANGE Used to indicate a street name change.

RouteLegStepTravelAdvisory

Contains the additional information that the user should be informed about, such as possible traffic zone restrictions on a leg step.

JSON representation
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Поля
speed Reading Intervals[]

object ( SpeedReadingInterval )

NOTE: This field is not currently populated.

RouteLegStepLocalizedValues

Text representations of certain properties.

JSON representation
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Поля
distance

object ( LocalizedText )

Travel distance represented in text form.

static Duration

object ( LocalizedText )

Duration without taking traffic conditions into consideration, represented in text form.

RouteLegStepTransitDetails

Additional information for the RouteLegStep related to TRANSIT routes.

JSON representation
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
Поля
stop Details

object ( TransitStopDetails )

Information about the arrival and departure stops for the step.

localized Values

object ( TransitDetailsLocalizedValues )

Text representations of properties of the RouteLegStepTransitDetails .

headsign

string

Specifies the direction in which to travel on this line as marked on the vehicle or at the departure stop. The direction is often the terminus station.

headway

string ( Duration format)

Specifies the expected time as a duration between departures from the same stop at this time. For example, with a headway seconds value of 600, you would expect a ten minute wait if you should miss your bus.

A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .

transit Line

object ( TransitLine )

Information about the transit line used in this step.

stop Count

integer

The number of stops from the departure to the arrival stop. This count includes the arrival stop, but excludes the departure stop. For example, if your route leaves from Stop A, passes through stops B and C, and arrives at stop D,

stopCount

returns 3.

trip Short Text

string

The text that appears in schedules and sign boards to identify a transit trip to passengers. The text should uniquely identify a trip within a service day. For example, "538" is the tripShortText of the Amtrak train that leaves San Jose, CA at 15:10 on weekdays to Sacramento, CA.

TransitStopDetails

Details about the transit stops for the RouteLegStep .

JSON representation
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
Поля
arrival Stop

object ( TransitStop )

Information about the arrival stop for the step.

arrival Time

string ( Timestamp format)

The estimated time of arrival for the step.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z" .

departure Stop

object ( TransitStop )

Information about the departure stop for the step.

departure Time

string ( Timestamp format)

The estimated time of departure for the step.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z" .

TransitStop

Information about a transit stop.

JSON representation
{
  "name": string,
  "location": {
    object (Location)
  }
}
Поля
name

string

The name of the transit stop.

location

object ( Location )

The location of the stop expressed in latitude/longitude coordinates.

TransitDetailsLocalizedValues

Localized descriptions of values for RouteTransitDetails .

JSON representation
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
Поля
arrival Time

object ( LocalizedTime )

Time in its formatted text representation with a corresponding time zone.

departure Time

object ( LocalizedTime )

Time in its formatted text representation with a corresponding time zone.

LocalizedTime

Localized description of time.

JSON representation
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
Поля
time

object ( LocalizedText )

The time specified as a string in a given time zone.

time Zone

string

Contains the time zone. The value is the name of the time zone as defined in the IANA Time Zone Database , eg "America/New_York".

TransitLine

Contains information about the transit line used in this step.

JSON representation
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
Поля
agencies[]

object ( TransitAgency )

The transit agency (or agencies) that operates this transit line.

name

string

The full name of this transit line, For example, "8 Avenue Local".

uri

string

the URI for this transit line as provided by the transit agency.

color

string

The color commonly used in signage for this line. Represented in hexadecimal.

icon Uri

string

The URI for the icon associated with this line.

name Short

string

The short name of this transit line. This name will normally be a line number, such as "M7" or "355".

text Color

string

The color commonly used in text on signage for this line. Represented in hexadecimal.

vehicle

object ( TransitVehicle )

The type of vehicle that operates on this transit line.

TransitAgency

A transit agency that operates a transit line.

JSON representation
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
Поля
name

string

The name of this transit agency.

phone Number

string

The transit agency's locale-specific formatted phone number.

uri

string

The transit agency's URI.

TransitVehicle

Information about a vehicle used in transit routes.

JSON representation
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
Поля
name

object ( LocalizedText )

The name of this vehicle, capitalized.

type

enum ( TransitVehicleType )

The type of vehicle used.

icon Uri

string

The URI for an icon associated with this vehicle type.

local Icon Uri

string

The URI for the icon associated with this vehicle type, based on the local transport signage.

TransitVehicleType

The type of vehicles for transit routes.

Enums
TRANSIT_VEHICLE_TYPE_UNSPECIFIED Unused.
BUS Автобус.
CABLE_CAR A vehicle that operates on a cable, usually on the ground. Aerial cable cars may be of the type GONDOLA_LIFT .
COMMUTER_TRAIN Commuter rail.
FERRY Перевозить.
FUNICULAR A vehicle that is pulled up a steep incline by a cable. A Funicular typically consists of two cars, with each car acting as a counterweight for the other.
GONDOLA_LIFT An aerial cable car.
HEAVY_RAIL Heavy rail.
HIGH_SPEED_TRAIN High speed train.
INTERCITY_BUS Intercity bus.
LONG_DISTANCE_TRAIN Long distance train.
METRO_RAIL Light rail transit.
MONORAIL Монорельс.
OTHER All other vehicles.
RAIL Rail.
SHARE_TAXI Share taxi is a kind of bus with the ability to drop off and pick up passengers anywhere on its route.
SUBWAY Underground light rail.
TRAM Above ground light rail.
TROLLEYBUS Trolleybus.

RouteLegTravelAdvisory

Contains the additional information that the user should be informed about on a leg step, such as possible traffic zone restrictions.

JSON representation
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Поля
toll Info

object ( TollInfo )

Contains information about tolls on the specific RouteLeg . This field is only populated if we expect there are tolls on the RouteLeg . If this field is set but the estimatedPrice subfield is not populated, we expect that road contains tolls but we do not know an estimated price. If this field does not exist, then there is no toll on the RouteLeg .

speed Reading Intervals[]

object ( SpeedReadingInterval )

Speed reading intervals detailing traffic density. Applicable in case of TRAFFIC_AWARE and TRAFFIC_AWARE_OPTIMAL routing preferences. The intervals cover the entire polyline of the RouteLeg without overlap. The start point of a specified interval is the same as the end point of the preceding interval.

Пример:

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

RouteLegLocalizedValues

Text representations of certain properties.

JSON representation
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Поля
distance

object ( LocalizedText )

Travel distance represented in text form.

duration

object ( LocalizedText )

Duration, represented in text form and localized to the region of the query. Takes traffic conditions into consideration. Note: If you did not request traffic information, this value is the same value as staticDuration.

static Duration

object ( LocalizedText )

Duration without taking traffic conditions into consideration, represented in text form.

StepsOverview

Provides overview information about a list of RouteLegStep s.

JSON representation
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
Поля
multi Modal Segments[]

object ( MultiModalSegment )

Summarized information about different multi-modal segments of the RouteLeg.steps . This field is not populated if the RouteLeg does not contain any multi-modal segments in the steps.

MultiModalSegment

Provides summarized information about different multi-modal segments of the RouteLeg.steps . A multi-modal segment is defined as one or more contiguous RouteLegStep that have the same RouteTravelMode . This field is not populated if the RouteLeg does not contain any multi-modal segments in the steps.

JSON representation
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
Поля
navigation Instruction

object ( NavigationInstruction )

NavigationInstruction for the multi-modal segment.

travel Mode

enum ( RouteTravelMode )

The travel mode of the multi-modal segment.

step Start Index

integer

The corresponding RouteLegStep index that is the start of a multi-modal segment.

step End Index

integer

The corresponding RouteLegStep index that is the end of a multi-modal segment.

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

A latitude-longitude viewport, represented as two diagonally opposite low and high points. A viewport is considered a closed region, ie it includes its boundary. The latitude bounds must range between -90 to 90 degrees inclusive, and the longitude bounds must range between -180 to 180 degrees inclusive. Various cases include:

  • If low = high , the viewport consists of that single point.

  • If low.longitude > high.longitude , the longitude range is inverted (the viewport crosses the 180 degree longitude line).

  • If low.longitude = -180 degrees and high.longitude = 180 degrees, the viewport includes all longitudes.

  • If low.longitude = 180 degrees and high.longitude = -180 degrees, the longitude range is empty.

  • If low.latitude > high.latitude , the latitude range is empty.

Both low and high must be populated, and the represented box cannot be empty (as specified by the definitions above). An empty viewport will result in an error.

For example, this viewport fully encloses New York City:

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

JSON representation
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
Поля
low

object ( LatLng )

Необходимый. The low point of the viewport.

high

object ( LatLng )

Необходимый. The high point of the viewport.

RouteLocalizedValues

Text representations of certain properties.

JSON representation
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Поля
distance

object ( LocalizedText )

Travel distance represented in text form.

duration

object ( LocalizedText )

Duration, represented in text form and localized to the region of the query. Takes traffic conditions into consideration. Note: If you did not request traffic information, this value is the same value as staticDuration .

static Duration

object ( LocalizedText )

Duration without taking traffic conditions into consideration, represented in text form.

transit Fare

object ( LocalizedText )

Transit fare represented in text form.

PolylineDetails

Details corresponding to a given index or contiguous segment of a polyline. Given a polyline with points P_0, P_1, ... , P_N (zero-based index), the PolylineDetails defines an interval and associated metadata.

JSON representation
{
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ]
}
Поля
flyover Info[]

object ( FlyoverInfo )

Flyover details along the polyline.

narrow Road Info[]

object ( NarrowRoadInfo )

Narrow road details along the polyline.

FlyoverInfo

Encapsulates information about flyovers along the polyline.

JSON representation
{
  "flyoverPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Поля
flyover Presence

enum ( RoadFeatureState )

Только вывод. Denotes whether a flyover exists for a given stretch of the polyline.

polyline Point Index

object ( PolylinePointIndex )

The location of flyover related information along the polyline.

RoadFeatureState

Encapsulates the states of road features along a stretch of polyline.

Enums
ROAD_FEATURE_STATE_UNSPECIFIED The road feature's state was not computed (default value).
EXISTS The road feature exists.
DOES_NOT_EXIST The road feature does not exist.

PolylinePointIndex

Encapsulates the start and end indexes for a polyline detail. For instances where the data corresponds to a single point, startIndex and endIndex will be equal.

JSON representation
{
  "startIndex": integer,
  "endIndex": integer
}
Поля
start Index

integer

The start index of this detail in the polyline.

end Index

integer

The end index of this detail in the polyline.

NarrowRoadInfo

Encapsulates information about narrow roads along the polyline.

JSON representation
{
  "narrowRoadPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Поля
narrow Road Presence

enum ( RoadFeatureState )

Только вывод. Denotes whether a narrow road exists for a given stretch of the polyline.

polyline Point Index

object ( PolylinePointIndex )

The location of narrow road related information along the polyline.

GeocodingResults

Contains GeocodedWaypoints for origin, destination and intermediate waypoints. Only populated for address waypoints.

JSON representation
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
Поля
origin

object ( GeocodedWaypoint )

Origin geocoded waypoint.

destination

object ( GeocodedWaypoint )

Destination geocoded waypoint.

intermediates[]

object ( GeocodedWaypoint )

A list of intermediate geocoded waypoints each containing an index field that corresponds to the zero-based position of the waypoint in the order they were specified in the request.

GeocodedWaypoint

Details about the locations used as waypoints. Only populated for address waypoints. Includes details about the geocoding results for the purposes of determining what the address was geocoded to.

JSON representation
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
Поля
geocoder Status

object ( Status )

Indicates the status code resulting from the geocoding operation.

type[]

string

The type(s) of the result, in the form of zero or more type tags. Supported types: Address types and address component types .

partial Match

boolean

Indicates that the geocoder did not return an exact match for the original request, though it was able to match part of the requested address. You may wish to examine the original request for misspellings and/or an incomplete address.

place Id

string

The place ID for this result.

intermediate Waypoint Request Index

integer

The index of the corresponding intermediate waypoint in the request. Only populated if the corresponding waypoint is an intermediate waypoint.