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

При вызове метода 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 .