Khi gọi một phương thức để tính toán một tuyến đường hoặc tính toán ma trận tuyến đường, bạn phải chỉ định những trường mà bạn muốn trả về trong phản hồi. Không có danh sách trường trả về mặc định nào. Nếu bạn bỏ qua danh sách này, các phương thức sẽ trả về lỗi.
Chỉ định danh sách trường bằng cách tạo mặt nạ trường phản hồi. Sau đó, hãy chuyển mặt nạ trường phản hồi đến từng phương thức bằng cách sử dụng tham số URL $fields
hoặc fields
, hoặc bằng cách sử dụng tiêu đề HTTP/gRPC X-Goog-FieldMask
.
Che mặt trường là một phương pháp thiết kế hay để đảm bảo rằng bạn không yêu cầu dữ liệu không cần thiết, giúp tránh thời gian xử lý và khoản phí thanh toán không cần thiết.
Để biết thêm thông tin về tham số URL, hãy xem bài viết Thông số hệ thống.
Xác định mặt nạ trường phản hồi
Mặt nạ trường phản hồi là một danh sách các đường dẫn được phân tách bằng dấu phẩy, trong đó mỗi đường dẫn chỉ định một trường duy nhất trong thông báo phản hồi. Đường dẫn bắt đầu từ thông báo phản hồi cấp cao nhất và sử dụng đường dẫn được phân tách bằng dấu chấm đến trường được chỉ định.
Đường dẫn trường được xây dựng theo cách sau:
topLevelField[.secondLevelField][.thirdLevelField][...]
Đối với các phương thức tuyến tính, đường dẫn trường chỉ định:
Đối với phương thức ma trận tuyến tính toán, đường dẫn trường chỉ định các trường của:
- REST: Các trường của Nội dung phản hồi cần trả về.
- gRPC: Các trường của đối tượng RouteMatrixElement trong phản hồi để trả về.
Để biết thêm thông tin về cách tạo đường dẫn trường, hãy xem field_mask.proto.
Chỉ định một đường dẫn trường
Phần này trình bày ví dụ về cách chỉ định đường dẫn trường như một phần của mặt nạ trường phản hồi.
Lệnh gọi REST đến computeRoutes
Trong ví dụ đầu tiên, bạn sử dụng lệnh gọi REST đến phương thức computeRoutes
để tính toán tuyến đường. Trong ví dụ này, bạn chỉ định trả về các trường Route.distanceMeters
và Route.duration
trong phản hồi. Hãy nhớ thêm tiền tố của tên trường vào là "routes.
"
X-Goog-FieldMask: routes.distanceMeters,routes.duration
Lệnh gọi REST đến computeRouteMatrix
Đối với phương thức REST computeRouteMatrix
dùng để tính toán ma trận tuyến, hãy chỉ định phương thức trả về originIndex
, destinationIndex
và duration
cho mỗi tổ hợp điểm xuất phát và điểm đến:
X-Goog-FieldMask: originIndex,destinationIndex,duration
cuộc gọi gRPC
Đối với gRPC, hãy đặt một biến chứa mặt nạ trường phản hồi. Sau đó, bạn có thể truyền biến đó vào yêu cầu.
const ( fieldMask = "routes.distanceMeters,routes.duration,routes.polyline.encodedPolyline" )
Những điều cần cân nhắc về đường dẫn trường
Chỉ đưa những trường mà bạn yêu cầu vào phản hồi. Chỉ trả về các trường mà bạn cần:
Cho phép máy chủ của chúng tôi lưu các chu kỳ xử lý, nhờ đó, chúng tôi có thể trả về kết quả của bạn với độ trễ thấp hơn.
Đảm bảo hiệu suất độ trễ ổn định. Chúng tôi có thể thêm các trường phản hồi khác trong tương lai và các trường mới đó có thể yêu cầu thêm thời gian tính toán. Nếu bạn chọn tất cả các trường hoặc nếu bạn chọn tất cả các trường ở cấp cao nhất, thì bạn có thể bị giảm hiệu suất vì bất kỳ trường mới nào mà chúng tôi thêm sẽ tự động được đưa vào phản hồi.
Kết quả là kích thước phản hồi nhỏ hơn, sẽ chuyển thành thông lượng mạng cao hơn.
Đảm bảo rằng bạn không yêu cầu dữ liệu không cần thiết, giúp tránh thời gian xử lý và phí thanh toán không cần thiết.