Routes API は現在プレビュー版(一般提供前)です。一般提供前のプロダクトや機能では、サポートが制限されることがあります。また、一般提供前のプロダクトや機能の変更は、他の一般提供前のバージョンと互換性がない可能性があります。一般提供前のサービスには、Google Maps Platform サービス固有の規約が適用されます。詳細については、リリース ステージの説明をご覧ください。

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

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

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

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

フィールド マスキングは、不要なデータをリクエストしないようにする設計で、不要な処理時間と課金を回避するのに役立ちます。

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

レスポンス フィールド マスクを定義する

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

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

topLevelField[.secondLevelField][.thirdLevelField][...]
  • コンピューティング ルート メソッドの場合、フィールド パスで指定します。

    • 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"
)

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

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

  • Google のサーバーによって処理サイクルが短縮され、より低いレイテンシで結果を返すことができます。

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

  • レスポンス サイズが小さくなるため、ネットワーク スループットが高くなります。

  • 不要なデータをリクエストしないようにして、不要な処理時間と課金を回避します。