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

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

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

  • サーバーの処理サイクルを短縮できるため、 低レイテンシでパフォーマンスが 向上します

  • 安定したレイテンシのパフォーマンスを実現します。レスポンス フィールドをさらに追加することも それらの新しいフィールドでは計算時間が増える可能性があります。すべてのフィールドを選択した場合、または最上位レベルですべてのフィールドを選択した場合、追加された新しいフィールドがレスポンスに自動的に含まれるため、パフォーマンスが低下する可能性があります。

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

フィールド パスの作成方法の詳細については、 field_mask.proto.