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