ルート マトリックス リクエストは、出発地と目的地のウェイポイントの配列を入力として受け取ります。Routes API は、各出発地ウェイポイントから各目的地ウェイポイントまでのルートを計算します。たとえば、2 つの出発地ウェイポイントと 2 つの目的地ウェイポイントを指定すると、API は 4 つの別々のルートを計算します。
API レスポンスには配列が含まれます。各配列要素は、1 つの出発地ウェイポイントから 1 つの目的地ウェイポイントまでのルートに対応します。したがって、2 つの出発地ウェイポイントと 2 つの目的地ウェイポイントを指定すると、レスポンス配列には、計算されたルートごとに 1 つの要素を含む 4 つの要素が含まれます。
レスポンスを使用して、さまざまなルート オプションをお客様に提供し、要件に適したルートを選択できるようにします。
フィールド マスクについて
ルートを計算するメソッドを呼び出す場合は、レスポンスで返されるフィールドを定義するフィールド マスクを指定する必要があります。返されるフィールドのデフォルトのリストはありません。このリストを省略すると、メソッドはエラーを返します。
このドキュメントの例では、フィールド マスクを考慮せずにレスポンス オブジェクト全体を示しています。本番環境では、レスポンスにはフィールド マスクで明示的に指定したフィールドのみが含まれます。
詳細については、返される情報を選択するをご覧ください。
著作権の表示について
結果をユーザーに表示する場合は、次の著作権表示を含める必要があります。
Powered by Google, ©YEAR Google
次に例を示します。
Powered by Google, ©2023 Google
レスポンスでルートを識別する
レスポンス内の各ルートを識別するには、originIndex レスポンス プロパティと destinationIndex レスポンス プロパティを使用します。これらのプロパティには、ルートの計算に使用される入力の出発地 ウェイポイントと入力の目的地 ウェイポイントのゼロベース のインデックスが含まれます。つまり、リクエストの最初の出発地ウェイポイントと最初の目的地ウェイポイントは、配列インデックス 0 にあります。
たとえば、レスポンスのルートには次のものが含まれます。
"originIndex": 1, "destinationIndex": 0
これらのプロパティは、ルートが入力配列のインデックス 1 の出発地ウェイポイントと、インデックス 0 の目的地ウェイポイントから計算されたことを示します。
次のルートの場合:
"originIndex": 4, "destinationIndex": 1
ルートは、入力配列のインデックス 4 の出発地ウェイポイントと、入力配列のインデックス 1 の目的地ウェイポイントから計算されました。
レスポンスについて
API レスポンスを表す JSON オブジェクト には配列が含まれます。各配列要素は、1 つの出発地ウェイポイントから 1 つの目的地ウェイポイントまでのルートを定義します。
originIndex プロパティと destinationIndex プロパティに加えて、各ルートには、distanceMeters、duration、travelAdvisory など、そのルートに固有の情報が含まれます。
レスポンスの形式は次のとおりです。
[ // One array element for each combination of origin and destination waypoints. { // The route for source waypoint 0 and destination waypoint 0. "originIndex": 0, "destinationIndex": 0, "status": { object (Status) }, "condition": enum (RouteMatrixElementCondition), "distanceMeters": integer, "duration": string, "staticDuration": string, "travelAdvisory": { object (RouteTravelAdvisory) }, "fallbackInfo": { object (FallbackInfo) } } { // The route for source waypoint 0 and destination waypoint 1. "originIndex": 0, "destinationIndex": 1, "status": { object (Status) }, "condition": enum (RouteMatrixElementCondition), "distanceMeters": integer, "duration": string, "staticDuration": string, "travelAdvisory": { object (RouteTravelAdvisory) }, "fallbackInfo": { object (FallbackInfo) } } … ]