Когда вы вызываете метод для вычисления маршрута или матрицы маршрутов, вы должны указать, какие поля вы хотите вернуть в ответе. Список возвращаемых полей по умолчанию отсутствует. Если вы опустите этот список, методы вернут ошибку.
Укажите список полей, создав маску поля ответа . Затем вы передаете маску поля ответа каждому методу, используя параметр URL-адреса $fields
или fields
или используя заголовок HTTP/gRPC X-Goog-FieldMask
.
Маскирование полей — это хорошая практика проектирования, позволяющая избежать запроса ненужных данных, что помогает избежать ненужного времени обработки и расходов на выставление счетов.
Дополнительные сведения о параметрах URL см. в разделе Системные параметры .
Определить маску поля ответа
Маска поля ответа представляет собой список путей, разделенных запятыми, где каждый путь определяет уникальное поле в ответном сообщении. Путь начинается с ответного сообщения верхнего уровня и использует разделенный точками путь к указанному полю.
Полевые пути строятся следующим образом:
topLevelField[.secondLevelField][.thirdLevelField][...]
Для методов вычисления маршрута пути к полям указывают:
Для методов вычисления матрицы маршрутов пути к полям определяют поля:
- REST: возвращаемые поля тела ответа .
- gRPC: поля объекта RouteMatrixElement в возвращаемом ответе.
Дополнительные сведения о том, как создавать пути к полям, см. в field_mask.proto .
Укажите путь к полю
Этот раздел содержит пример того, как указать путь к полю как часть маски поля ответа.
Вызов REST для computeRoutes
В первом примере вы используете REST-вызов метода computeRoutes
для расчета маршрута. В этом примере вы указываете возвращать поля Route.distanceMeters
и Route.duration
в ответе. Не забудьте добавить к имени поля префикс « routes.
X-Goog-FieldMask: routes.distanceMeters,routes.duration
Вызов REST для computeRouteMatrix
Для метода REST computeRouteMatrix
, используемого для вычисления матрицы маршрутов, укажите, что нужно возвращать originIndex
, destinationIndex
и duration
для каждой комбинации пункта отправления и назначения:
X-Goog-FieldMask: originIndex,destinationIndex,duration
вызов gRPC
Для gRPC задайте переменную, содержащую маску поля ответа. Затем вы можете передать эту переменную в запрос.
const ( fieldMask = "routes.distanceMeters,routes.duration,routes.polyline.encodedPolyline" )
Соображения по пути к полю
Включите в ответ только те поля, которые вам нужны. Возврат только тех полей, которые вам нужны:
Позволяет нашему серверу экономить циклы обработки, что позволяет нам возвращать ваши результаты с меньшей задержкой.
Обеспечивает стабильную производительность задержки. Возможно, в будущем мы добавим больше полей ответа, и эти новые поля могут потребовать дополнительного времени вычислений. Если вы выберете все поля или все поля на верхнем уровне, вы можете столкнуться со снижением производительности, поскольку любое новое поле, которое мы добавляем, будет автоматически включено в ваш ответ.
Результатом является меньший размер ответа, что приводит к более высокой пропускной способности сети.
Гарантирует, что вы не запрашиваете ненужные данные, что помогает избежать ненужного времени обработки и оплаты счетов.