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