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

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