取得するフィールドの選択

ComputeRoutes() メソッドを呼び出すときは、レスポンスで返すフィールドを指定する必要があります。これを行うには、URL パラメータ $fields または fields で指定するレスポンス フィールド マスクを使用するか、HTTP/gRPC ヘッダー X-Goog-FieldMask を使用します。詳細については、システム パラメータをご覧ください。

フィールド マスク

フィールド マスク値は、フィールドパスのカンマ区切りリストです。各フィールドパスは、メッセージ階層を表すフィールド名のドット区切りリストです。フィールド名は、JSON オブジェクト キーまたは protobuf フィールド タグ名です。フィールドパスは、トップレベルのレスポンス メッセージ タイプから始まり、必要に応じて 1 つ以上のドット、次のレベルのフィールド名が続きます。通常、フィールドパスは次のように構成されます。

topLevelField[.secondLevelField][.thirdLevelField][...]

特殊なケースのフィールド マスクはワイルドカード「*」で、すべてのルートレベルのフィールドが選択されます。

次の例は、ComputeRoutes() メソッドのフィールド マスクを設定する方法を示しています。

例 1

使用可能なすべてのフィールドのフィールド マスク(手動検査の場合)。

X-Goog-FieldMask: *

例 2

ルートレベルの所要時間、距離、ポリラインのフィールド マスク(本番環境の設定例)。

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

ワイルドカード(*)レスポンス フィールド マスクを使用したり、本番環境の最上位レベル(ルート)でフィールド マスクを指定したりすることはおすすめしません。必要なフィールドのみを選択します。

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

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

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

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