При вызове метода ComputeRoutes() необходимо указать, какие поля вы хотите получить в ответе. Это делается с помощью маски полей ответа, которую вы указываете в параметре URL $fields или fields , или с помощью заголовка HTTP/gRPC X-Goog-FieldMask . Дополнительную информацию см. в разделе «Системные параметры» .
Полевая маска
The field mask value is a comma-separated list of field paths. Each field path is a dot-separated list of field names that represent the message hierarchy. A field name is either the JSON object key, or the protobuf field tag name. The field path starts from the top level response message type, and is optionally followed by one or more dots, and then the next level of field name. In general, field paths are constructed in the following way:
topLevelField[.secondLevelField][.thirdLevelField][...]
Специальная маска поля представляет собой подстановочный знак «*», который выбирает все поля корневого уровня.
Примеры
В следующем примере показано, как установить маски полей для метода ComputeRoutes() .
Пример 1
Маска всех доступных полей (для ручной проверки).
X-Goog-FieldMask: *
Пример 2
Маска поля, содержащая продолжительность, расстояние и полилинию на уровне маршрута (пример производственной конфигурации).
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline
Мы не рекомендуем использовать маску поля ответа с подстановочным знаком (*) или указывать маску поля на верхнем уровне (маршруты) в производственной среде. Выбирайте только необходимые поля:
Это позволяет нашему серверу экономить вычислительные ресурсы, что дает нам возможность возвращать результаты с меньшей задержкой.
Обеспечивает стабильную задержку. В будущем мы можем добавить больше полей ответа, и эти новые поля могут потребовать дополнительного времени на вычисления. Если вы выберете все поля или все поля верхнего уровня, вы можете заметить снижение производительности, поскольку любое новое добавленное нами поле будет автоматически включено в ваш ответ.
Это приводит к уменьшению размера ответа, что, в свою очередь, увеличивает пропускную способность сети.
Для получения дополнительной информации о том, как создавать пути к полям, см. файл field_mask.proto .