呼叫 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。