ルートを計算するメソッドまたはルート マトリックスを計算するときに、レスポンスで返すフィールドを指定する必要があります。返されるフィールドのデフォルト リストはありません。このリストを省略すると、メソッドはエラーを返します。
レスポンス フィールド マスクを作成してフィールド リストを指定します。次に、URL パラメータ $fields
または fields
を使用するか、HTTP/gRPC ヘッダー X-Goog-FieldMask
を使用して、レスポンス フィールド マスクを各メソッドに渡します。
フィールド マスキングは、不要なデータをリクエストしないようにする設計で、不要な処理時間と課金を回避するのに役立ちます。
URL パラメータについて詳しくは、システム パラメータをご覧ください。
レスポンス フィールド マスクを定義する
レスポンス フィールド マスクは、パスのカンマ区切りのリストです。各パスは、レスポンス メッセージ内の一意のフィールドを指定します。このパスは、最上位のレスポンス メッセージから始まり、指定されたフィールドへのドット区切りパスが使用されます。
フィールドパスは次のように構成されます。
topLevelField[.secondLevelField][.thirdLevelField][...]
コンピューティング ルート メソッドの場合、フィールド パスで指定します。
コンピューティング ルート行列メソッドの場合、フィールド パスは次のフィールドを指定します。
- REST: 返すレスポンス本文のフィールド。
- gRPC: 返されるレスポンスの RouteMatrixElement オブジェクトのフィールド。
フィールドパスの作成方法について詳しくは、field_mask.proto をご覧ください。
フィールドパスを指定する
このセクションでは、レスポンス フィールド マスクの一部としてフィールドパスを指定する方法の例を示します。
computeRoutes
への REST 呼び出し
最初の例では、computeRoutes
メソッドに対する REST 呼び出しを使用してルートを計算します。この例では、レスポンスで Route.distanceMeters
フィールドと Route.duration
フィールドを返すように指定します。フィールド名の先頭に必ず「routes.
」を付けてください。
X-Goog-FieldMask: routes.distanceMeters,routes.duration
computeRouteMatrix
への REST 呼び出し
ルート マトリックスの計算に使用される REST computeRouteMatrix
メソッドでは、出発地と目的地の組み合わせごとに originIndex
、destinationIndex
、duration
を返すように指定します。
X-Goog-FieldMask: originIndex,destinationIndex,duration
gRPC 呼び出し
gRPC の場合は、レスポンス フィールド マスクを含む変数を設定します。その変数をリクエストに渡します。
const ( fieldMask = "routes.distanceMeters,routes.duration,routes.polyline.encodedPolyline" )
フィールドパスの考慮事項
レスポンスに必要なフィールドのみを含めます。必要なフィールドのみを返す。
Google のサーバーによって処理サイクルが短縮され、より低いレイテンシで結果を返すことができます。
安定したレイテンシ パフォーマンスを確保します。今後、レスポンス フィールドがさらに追加され、それらの新しいフィールドでは計算時間が長くなる可能性があります。すべてのフィールドを選択するか、トップレベルですべてのフィールドを選択すると、追加された新しいフィールドが自動的にレスポンスに含まれるため、パフォーマンスが低下する可能性があります。
レスポンス サイズが小さくなるため、ネットワーク スループットが高くなります。
不要なデータをリクエストしないようにして、不要な処理時間と課金を回避します。