Method: computeRoutes

ターミナルと中間ウェイポイントのセットを指定すると、プライマリ ルートとともに、オプションの代替ルートを返します。

注: このメソッドでは、入力でレスポンス フィールド マスクを指定する必要があります。レスポンス フィールド マスクは、URL パラメータ $fields または fields を使用するか、HTTP/gRPC ヘッダー X-Goog-FieldMask を使用して指定できます(使用可能な URL パラメータとヘッダーをご覧ください)。値は、フィールドパスのカンマ区切りのリストです。フィールドパスの作成方法に関する詳細なドキュメントをご覧ください。

たとえば、このメソッドでは次のようになります。

  • 使用可能なすべての項目のフィールド マスク(手動検査用): X-Goog-FieldMask: *
  • ルートレベルの所要時間、距離、ポリラインのフィールド マスク(本番環境の設定例): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

以下の理由により、ワイルドカード(*)レスポンス フィールド マスクを使用したり、トップレベル(routes)でフィールド マスクを指定したりすることはおすすめしません。

  • 必要なフィールドのみを選択すると、サーバーの計算サイクルを節約できるため、レイテンシを短縮して結果を返すことができます。
  • 本番環境のジョブに必要なフィールドのみを選択することで、安定したレイテンシ パフォーマンスを確保できます。今後、レスポンス フィールドが追加される可能性があります。追加されたフィールドによっては、計算時間が長くなる場合があります。すべてのフィールドを選択した場合や、トップレベルのすべてのフィールドを選択した場合、新しく追加したフィールドが自動的にレスポンスに含まれるため、パフォーマンスが低下する可能性があります。
  • 必要なフィールドのみを選択すると、レスポンス サイズが小さくなり、ネットワーク スループットが向上します。

HTTP リクエスト

POST https://routespreferred.googleapis.com/v1:computeRoutes

この URL は gRPC Transcoding 構文を使用します。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean
}
フィールド
origin

object (Waypoint)

必須。出発地のウェイポイント。

destination

object (Waypoint)

必須。目的地の地点。

intermediates[]

object (Waypoint)

省略可。ルート上のウェイポイントのセット(終点を除く)。停車地点または通過地点です。最大 25 個の中間地点がサポートされています。

travelMode

enum (RouteTravelMode)

省略可。移動手段を指定します。

routingPreference

enum (RoutingPreference)

省略可。ルートの計算方法を指定します。サーバーは、選択したルーティング設定を使用してルートを計算しようとします。ルーティング設定でエラーが発生した場合やレイテンシが長すぎる場合は、エラーが返されます。このオプションを指定できるのは、travelModeDRIVE または TWO_WHEELER の場合のみです。それ以外の場合は、リクエストが失敗します。

polylineQuality

enum (PolylineQuality)

省略可。ポリラインの品質に関する設定を指定します。

polylineEncoding

enum (PolylineEncoding)

省略可。ポリラインの優先エンコードを指定します。

departureTime

string (Timestamp format)

省略可。出発時刻。この値を設定しない場合は、デフォルトでリクエストを行った時刻になります。すでに発生している時刻に設定すると、リクエストは失敗します。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

computeAlternativeRoutes

boolean

省略可。経路に加えて代替経路を計算するかどうかを指定します。中間地点を含むリクエストの場合、代替ルートは返されません。

routeModifiers

object (RouteModifiers)

省略可。ルートの計算方法に影響する、満たす必要がある一連の条件。

languageCode

string

省略可。「en-US」や「sr-Latn」などの BCP-47 言語コード。詳細については、Unicode ロケール識別子をご覧ください。サポートされている言語の一覧については、言語サポートをご覧ください。この値を指定しない場合、表示言語はルート リクエストのロケーションから推測されます。

units

enum (Units)

省略可。表示フィールドの測定単位を指定します。これには、NavigationInstructioninstruction フィールドが含まれます。ルート、区間、歩数の距離、所要時間に使用される計量単位は、この値の影響を受けません。この値を指定しない場合、表示単位はリクエストの位置から推測されます。

optimizeWaypointOrder

boolean

optimizeWaypointOrder が true に設定されている場合、指定された中間ウェイポイントの順序が変更され、ルートの総費用が最小化されます。中間地点のいずれかが経由地点である場合、リクエストは失敗します。ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index を使用して新しい順序を探します。X-Goog-FieldMask ヘッダーで routes.optimized_intermediate_waypoint_index がリクエストされていない場合、リクエストは失敗します。optimizeWaypointOrder が false に設定されている場合、ComputeRoutesResponse.optimized_intermediate_waypoint_index は空になります。

レスポンスの本文

成功した場合、レスポンスの本文には ComputeRoutesResponse のインスタンスが含まれます。

認可スコープ

次の OAuth スコープが必要です。

  • https://www.googleapis.com/auth/maps-platform.routespreferred

詳しくは、OAuth 2.0 の概要をご覧ください。