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 をご覧ください。