選擇要傳回的欄位

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