呼叫 ComputeRoutes()
方法時,您必須指定要傳回回應中的哪些欄位。您可以使用回應欄位遮罩 (透過網址參數 $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。