Method: computeRouteMatrix

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

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

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

  • Маска всех доступных полей (для проверки вручную): X-Goog-FieldMask: *
  • Маска поля длительности маршрута, расстояний, статуса элемента, состояния и индексов элементов (пример производственной настройки): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

Крайне важно включить status в маску поля, иначе все сообщения будут выглядеть нормально. Google не рекомендует использовать маску поля ответа с подстановочным знаком ( * ), потому что:

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

HTTP-запрос

POST https://routespreferred.googleapis.com/v1:computeRouteMatrix

URL-адрес использует синтаксис транскодирования gRPC .

Тело запроса

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

JSON-представление
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string
}
Поля
origins[]

object ( RouteMatrixOrigin )

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

  • В любом случае количество элементов (источники × пункты назначения) не должно превышать 625.
  • Количество элементов (источники × пункты назначения) не должно превышать 100, если для параметра routerPreference установлено значение TRAFFIC_AWARE_OPTIMAL .
  • Количество путевых точек (исходные + пункты назначения), указанных в качестве placeId , не должно превышать 50.
destinations[]

object ( RouteMatrixDestination )

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

travelMode

enum ( RouteTravelMode )

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

routingPreference

enum ( RoutingPreference )

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

departureTime

string ( Timestamp format)

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

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

Тело ответа

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

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

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

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

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