選擇要傳回的欄位

呼叫路線或計算路徑矩陣時,您必須指定在回應中要傳回的欄位。沒有傳回預設欄位的清單。如果省略這份清單,方法會傳回錯誤。

建立回應欄位遮罩以指定欄位清單。接著,將回應欄位遮罩透過網址參數 $fieldsfields 或使用 HTTP/gRPC 標頭 X-Goog-FieldMask 傳遞至每個方法。

欄位遮蓋是一項最佳做法,確保您不會要求不必要的資料,進而避免不必要的處理時間和帳單費用。

如要進一步瞭解網址參數,請參閱系統參數

定義回應欄位遮罩

回應欄位遮罩是一份以半形逗號分隔的路徑清單,其中每個路徑都會在回應訊息中指定不重複的欄位。路徑是從頂層回應訊息開始,並使用指定欄位的點分隔路徑。

欄位路徑的建構方式如下:

topLevelField[.secondLevelField][.thirdLevelField][...]
  • 針對運算路徑方法,欄位路徑會指定:

    • REST:回應中要傳回的 Route 物件欄位,前面加上 routes.。例如:routes.distanceMeters
    • gRPC:回應中傳回的 Route 物件欄位。
  • 如果是運算路徑矩陣方法,欄位路徑會指定下列欄位:

如要進一步瞭解如何建構欄位路徑,請參閱 field_mask.proto

指定欄位路徑

本節說明如何在回應欄位遮罩中指定欄位路徑。

computeRoutes 發出的 REST 呼叫

在第一個範例中,您會使用 computeRoutes 方法的 REST 呼叫來計算路線。在這個範例中,您指定了回應中的 Route.distanceMetersRoute.duration 欄位。記得在欄位名稱前加上「routes.

X-Goog-FieldMask: routes.distanceMeters,routes.duration

computeRouteMatrix 發出的 REST 呼叫

針對用於計算路線矩陣的 REST computeRouteMatrix 方法,請指定每個結果來源和目的地組合的 originIndexdestinationIndexduration

X-Goog-FieldMask: originIndex,destinationIndex,duration

gRPC 呼叫

針對 gRPC,請設定包含回應欄位遮罩的變數。接著,您就能將該變數傳送至要求。

const (
  fieldMask = "routes.distanceMeters,routes.duration,routes.polyline.encodedPolyline"
)

欄位路徑注意事項

回應中必須包含的欄位。只傳回需要的欄位:

  • 允許我們的伺服器儲存處理週期,讓我們能傳回延遲時間較短的結果。

  • 確保穩定效能。未來我們可能會新增更多回應欄位,而這些新欄位可能需要額外的運算時間。如果選取所有欄位,或是在頂層選取所有欄位,則由於系統新增的所有新欄位都會自動納入您的回應,因此效能可能會降低。

  • 產生較小的回應大小,從而提高網路處理量。

  • 確保您不會要求不必要的資料,以免產生不必要的處理時間和帳單費用。