返すフィールドを選択する

ルートを計算するルート ルートまたはルート マトリックスを計算するメソッドを呼び出すときは、レスポンスで返すフィールドを指定する必要があります。返されるフィールドのデフォルト リストはありません。このリストを省略すると、メソッドからエラーが返されます。

レスポンス フィールド マスクを作成してフィールド リストを指定します。次に、URL パラメータ $fields または fields を使用するか、HTTP/gRPC ヘッダー X-Goog-FieldMask を使用して、レスポンス フィールド マスクを各メソッドに渡します。

フィールド マスキングは、不要なデータを要求せず、不要な処理時間と請求を回避するための優れた設計手法です。

URL パラメータの詳細については、システム パラメータをご覧ください。

レスポンス フィールド マスクの定義

レスポンス フィールド マスクは、パスのカンマ区切りのリストです。各パスでは、レスポンス メッセージ内の一意のフィールドを指定します。パスは、トップレベルのレスポンス メッセージから始まり、指定されたフィールドへのドット区切りパスが使用されます。

フィールドパスは次のように構築されます。

topLevelField[.secondLevelField][.thirdLevelField][...]
  • compute route メソッドの場合、フィールドパスで次のように指定します。

    • REST: 返されるレスポンスの Route オブジェクトのフィールド(接頭辞 routes.)。たとえば、routes.distanceMeters です。
    • gRPC: 返されるレスポンスの Route オブジェクトのフィールド。
  • コンピューティング ルート マトリックス メソッドの場合、フィールド パスは次のフィールドを指定します。

フィールドパスの作成方法については、field_mask.proto をご覧ください。

フィールドのパスを指定する

このセクションでは、レスポンス フィールド マスクの一部としてフィールドパスを指定する方法の例を示します。

computeRoutes への REST 呼び出し

最初の例では、computeRoutes メソッドに対する REST 呼び出しを使用してルートを計算します。この例では、レスポンスで Route.distanceMeters フィールドと Route.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"
)

フィールドパスの考慮事項

レスポンスに必要なフィールドのみを含めます。必要なフィールドのみを返すようにします。

  • 処理サイクルをサーバーが保存できるため、結果を低レイテンシで返すことができます。

  • 安定したレイテンシ パフォーマンスを保証します。今後、レスポンス フィールドがさらに追加される可能性があります。それらの新しいフィールドでは計算時間が長くなる可能性があります。すべてのフィールドを選択した場合、またはトップレベルのすべてのフィールドを選択した場合、追加した新しいフィールドが自動的にレスポンスに含まれるため、パフォーマンスが低下する可能性があります。

  • その結果、レスポンス サイズが小さくなり、ネットワーク スループットの向上につながります。

  • 不要なデータを要求しないようにすることで、不要な処理時間と請求料金を回避できます。