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://routespreferred.googleapis.com/v1: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,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean
}
Поля
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)

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

Временная метка в формате 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 . Список поддерживаемых языков см. в разделе «Поддержка языков» . Если вы не укажете это значение, язык отображения будет определяться на основе местоположения запроса маршрута.

units

enum ( Units )

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

optimize Waypoint Order

boolean

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

Тело ответа

В случае успеха тело ответа содержит экземпляр ComputeRoutesResponse .

Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Дополнительную информацию см. в обзоре OAuth 2.0 .