Выберите поля для возврата

При вызове метода ComputeRoutes() вы должны указать, какие поля вы хотите вернуть в ответе. Это делается с помощью маски поля ответа, которую вы предоставляете с помощью параметра URL-адреса $fields или fields , или с помощью заголовка HTTP/gRPC X-Goog-FieldMask . Для получения дополнительной информации см. Системные параметры .

Маска поля

Значение маски поля представляет собой список путей к полям, разделенных запятыми. Каждый путь к полю представляет собой список имен полей, разделенных точками, которые представляют иерархию сообщений. Имя поля — это либо ключ объекта JSON, либо имя тега поля protobuf. Путь к полю начинается с типа ответного сообщения верхнего уровня, за ним при необходимости следует одна или несколько точек, а затем имя поля следующего уровня. В общем, пути к полям строятся следующим образом:

topLevelField[.secondLevelField][.thirdLevelField][...]

Маска поля особого случая представляет собой подстановочный знак «*», который выбирает все поля корневого уровня.

Примеры

В следующем примере показано, как установить маски полей для метода ComputeRoutes() .

Пример 1

Маска всех доступных полей (для проверки вручную).

X-Goog-FieldMask: *

Пример 2

Маска поля продолжительности, расстояния и полилинии на уровне маршрута (пример производственной настройки).

X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline

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

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

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

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

Дополнительные сведения о том, как создавать пути к полям, см. в файле field_mask.proto .