Запрос матрицы маршрутов принимает на вход массив промежуточных точек отправления и назначения. Затем API маршрутов рассчитывает маршрут от каждой начальной путевой точки до каждой конечной путевой точки. Например, если вы укажете две начальные и две конечные путевые точки, API рассчитает четыре отдельных маршрута.
Ответ API содержит массив, в котором каждый элемент соответствует маршруту от одной путевой точки отправления до одной путевой точки назначения. Поэтому, если вы укажете две путевые точки отправления и две путевые точки назначения, массив ответа будет содержать четыре элемента, по одному для каждого рассчитанного маршрута.
Используя ответ, вы можете предоставить клиентам разные варианты маршрутов, чтобы они могли выбрать подходящий.
Маски полей
При вызове метода для расчета маршрута необходимо указать маску поля, определяющую, какие поля должны быть возвращены в ответе. Списка полей, возвращаемых по умолчанию, нет. Если вы не укажете этот список, методы вернут ошибку.
В примерах в этом документе показан весь объект ответа без учета масок полей. В рабочей среде ответ будет содержать только те поля, которые вы явно указали в маске.
Подробнее о том, какую информацию можно вернуть…
Как показывать информацию об авторских правах
При показе результатов поиска пользователям необходимо добавить следующее заявление об авторских правах:
Powered by Google, ©YEAR Google
Пример:
Powered by Google, ©2023 Google
Как найти маршрут в ответе
Используйте свойства ответа originIndex и destinationIndex, чтобы идентифицировать каждый маршрут в ответе. Эти свойства содержат нулевой индекс входных начальной и конечной точек маршрута, используемых для расчета маршрута. Это означает, что первая исходная точка и первая промежуточная точка в запросе находятся в массиве с индексом 0.
Например, маршрут в ответе содержит:
"originIndex": 1, "destinationIndex": 0
Эти свойства указывают, что маршрут был рассчитан от путевой точки отправления с индексом 1 в массиве входных данных и от путевой точки назначения с индексом 0.
Для следующего маршрута:
"originIndex": 4, "destinationIndex": 1
Маршрут был рассчитан от путевой точки отправления с индексом 4 во входном массиве и от путевой точки назначения с индексом 1 во входном массиве.
Информация о маршруте в ответе
Ответ API содержит массив, каждый элемент которого определяет маршрут от одной путевой точки отправления до одной путевой точки назначения. Эти элементы находятся в RouteMatrixElements методе gRPC или теле ответа в HTTP-ответе.
Помимо свойств originIndex и destinationIndex, каждый элемент содержит только основную информацию, относящуюся к маршруту, например distanceMeters, duration и travelAdvisory. Чтобы получить более подробную информацию о маршруте, например ломаную линию, используйте computeRoutes.
Ответ имеет следующий формат:
[ // One array element for each combination of origin and destination waypoints. { // The route for source waypoint 0 and destination waypoint 0. "originIndex": 0, "destinationIndex": 0, "status": { object (Status) }, "condition": enum (RouteMatrixElementCondition), "distanceMeters": integer, "duration": string, "staticDuration": string, "travelAdvisory": { object (RouteTravelAdvisory) }, "fallbackInfo": { object (FallbackInfo) } } { // The route for source waypoint 0 and destination waypoint 1. "originIndex": 0, "destinationIndex": 1, "status": { object (Status) }, "condition": enum (RouteMatrixElementCondition), "distanceMeters": integer, "duration": string, "staticDuration": string, "travelAdvisory": { object (RouteTravelAdvisory) }, "fallbackInfo": { object (FallbackInfo) } } … ]