Routes API を使用する理由
Routes API では、交通情報、最新の交通状況と道路状況、ルートの設定を使用して、正確なルートとルートの情報を取得できます。
さまざまな移動手段の種類と機能
車両の進行方向
乗り降り先は道路の片側
交通状況と通行止め
安全上の懸念(危険な場所を避ける、安全な乗車エリアを提供するなど)
通行料金やルートのメタデータ(時間や距離、燃料効率など)などのオプション機能と、ルート選択のニーズ全体でレイテンシ、品質、費用のバランスを取ります。
次のように、ディスパッチのスケジューリングで最も効率的なルートを決定することもできます。
一連の荷物を受け取る一連のワーカーを割り当てる最適な方法
最終的な配送先に荷物を発送する最適な倉庫を決定する
Routes API でできること
Routes API では、次の 2 つのルーティング情報の主なカテゴリを取得できます。
ロケーションから単一または複数の宛先へのルート
多数の出発地と目的地を結ぶ可能なルートのマトリックス。
単一または複数の目的地のルートを取得する
Routes API の Compute Routes
メソッドを使用すると、ロケーション間の計算を行うことができます。
さまざまな移動手段のルートを検索して、1 つまたは複数の目的地へのルートを検索する。
移動手段(交通機関、自動車、二輪車、徒歩、自転車など)。
一連の地点。最も効率的な移動順序に最適化できます。
複数の方法で出発地、目的地、地点を指定する:
テキスト文字列。例: "Chicago, IL"、"Darwin, NT, Australia"、"1800 Amphitheatre Parkway, Mountain View, CA 94043"、"CWF6+FWX Mountain View, California" など。
プレイス ID
緯度と経度の座標(車両の向きも指定可能)
ニーズや目標に応じてルート オプションを微調整します。
車両のエンジンの種類(ディーゼル、電気、ハイブリッド、ガソリン)に応じて、燃料またはエネルギー効率の高いルートを選択します。詳しくは、環境に優しいルートを取得するをご覧ください。
トラフィック計算の詳細なオプションを設定して、品質とレイテンシのトレードオフを決定できます。詳細については、トラフィック データを含める方法とかどうかを指定するをご覧ください。
車両の進行方向(進行方向)とウェイポイントの道路脇の情報を設定して、ETA の精度を高めます。詳しくは、車両の向きと道路の片側を指定するをご覧ください。
通過とターミナルの場所、安全な立ち寄り場所を指定します。詳しくは、経路上に停車地を設定すると通過する経路の地点を設定するをご覧ください。
通行料金情報、ルート距離、到着予定時刻をリクエストする。詳しくは、ルートの通行料金を計算するをご覧ください。
フィールド マスクを使用して必要なデータのみをリクエストすることで、レイテンシと品質を制御します。これにより、不要な処理時間を回避し、リクエスト料金を引き上げることができます。詳しくは、返す情報の選択をご覧ください。
可能なルートのマトリックスを取得する
Routes API の Compute Route Matrix
メソッドは、複数の出発地から目的地までの推奨ルートの情報のマトリックス(距離や到着予定時刻など)を提供し、ビジネスニーズに基づいて最適な出発地と目的地を選択できます。リクエストできる距離データの種類は次のとおりです。
選択した移動手段の距離
距離(キロメートルまたはマイル)
渋滞中の推定移動時間
距離データを使用すると、想定される複数の出発地と目的地の間で乗客、荷物、作業員をルーティングする最も効率的な方法を決定できます。
マトリックス全体が計算される前にレスポンスの要素をストリーミングすると、レスポンスのレイテンシを短縮できます。
サーバーサイドのリクエストごとに、複数の出発地と目的地を指定できます。最大数は、出発地の数 × 目的地の数で 625 です。
Routes API の仕組み
Routes API には、ComputeRoute
と ComputeRouteMatrix
の 2 つのメソッドがあります。
ComputeRoute
Routes API の ComputeRoute
メソッドは、リクエストの詳細を含む JSON リクエスト本文を持つ HTTP POST リクエストを受け入れます。origin、destination、travelMode、返されるフィールドを指定するためのフィールド マスクが必須です。
例
curl -X POST -d '{ "origin": { "address": "1800 Amphitheatre Parkway, Mountain View, CA 94043" }, "destination": { "address": "Sloat Blvd &, Upper Great Hwy, San Francisco, CA 94132" }, "travelMode": "DRIVE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
次に、リクエストされたルートが計算され、リクエストしたフィールドが返されます。
ComputeRouteMatrix
Routes API ComputeRouteMatrix
は、リクエストの詳細を含む JSON リクエスト本文を使用して HTTP POST リクエストを受け入れます。少なくとも 1 つの出発地、2 つ以上の目的地、travelMode、返すフィールドを指定するフィールド マスクが必要です。
例
curl -X POST -d '{ "origins": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420761, "longitude": -122.081356 } } } }, { "waypoint": { "location": { "latLng": { "latitude": 37.403184, "longitude": -122.097371 } } } } ], "destinations": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420999, "longitude": -122.086894 } } } }, { "waypoint": { "location": { "latLng": { "latitude": 37.383047, "longitude": -122.044651 } } } } ], "travelMode": "DRIVE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \ 'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'
レスポンスには、出発地と目的地のすべてのウェイポイントを組み合わせた場合のルートが含まれます。
関連情報
次の表に、Routes API で利用可能なリソースと返されるデータを示します。
データリソース | 返されたデータ | 戻り値の形式 |
---|---|---|
ComputeRoute | ルートのルート、区間、ステップを代替ルートとともに返します(リクエストした場合)。 | JSON |
ComputeRouteMatrix | 出発地の 1 つの地点から目的地の 1 つの地点までのルートの配列を返します。 |
Routes API の使用方法
1 | セットアップする | Google Cloud プロジェクトの設定から始めて、以下の設定手順を完了します。 |
2 | ルートを計算して回答を確認する | 詳しくは、ルートを取得するとルートのレスポンスを確認するをご覧ください。 |
3 | ルートのマトリックスを計算してレスポンスを確認する | 詳細については、ルート マトリックスの取得とルート マトリックスのレスポンスを確認するをご覧ください。 |
利用可能なクライアント ライブラリ
Routes API で使用可能なクライアント ライブラリのリストについては、クライアント ライブラリをご覧ください。