ルート マトリックスを取得する

Routes API を使用すると、次のルートの距離と所要時間を計算できます。 複数の出発地と目的地を指定できます。 computeRouteMatrix メソッド (REST)またはストリーミング ComputeRouteMatrix メソッド(gRPC)が使用されます。

出発地と目的地のリストが与えられると、メソッドは 各出発地点を起点とするルートの距離と所要時間を計算します 各デスティネーションで終わります

交通機関のルート マトリックスを取得する

交通機関でルート マトリックスを計算することもできます。たとえば、 例については、交通機関でルート マトリックスを取得するをご覧ください。

リクエストに関する上限

Compute Route Matrix メソッドでは、次のリクエストが適用されます。 address または placeID を使用するウェイポイント、および要素の制限。要素 ルート マトリックス内の各出発地と目的地の間のルートが格納されるため、 要素数は、出発地の数に目的地の数を掛けた値です。対象 たとえば、出発地が 10 個、目的地が 10 個ある場合、100 個の要素があります。

  • ルートの要素数は 625 以下にしてください TRANSIT 以外のルートです。

  • TRANSIT ルートを指定する場合は、要素の数が上限を超えないようにしてください。 100。

  • TRAFFIC_AWARE_OPTIMAL を指定した場合、要素の数は 100 を超えることはできませんTRAFFIC_AWARE_OPTIMAL の詳細については、以下をご覧ください。 交通データを含めるかどうかと、含めるかどうかを指定します。

  • 住所またはプレイス ID を使用して出発地または目的地を指定する場合: 最大 50 まで指定できます

レスポンス エラー

Compute Route Matrix メソッドの特長の一つは、エラーが レスポンス全体または個々のレスポンス要素に対して返されます。 たとえば、リクエストの形式が正しくない場合、レスポンス全体にエラーが含まれます。 (オリジンがゼロなど)。

ただし、サービスのサブセットにエラーが 要素に含まれている(たとえば、1 つのルートはルートを (出発地と目的地の組み合わせ)に基づいて、 エラーはエラーコードを返します。

gRPC ストリームの結果

ComputeRouteMatrix gRPC メソッドは送信元と宛先のリストを受け取り、ストリームを返す ルート情報が含まれます。 結果はストリームとして返されるため、すべての ルートの可能な組み合わせが計算されてから、 表示されます。

ストリームによって返される要素は、 できます。そのため、各レスポンス要素には origin_indexdestination_index。リクエストで指定された出発地と目的地について、 ルートオリジンは特定の要素の origins[origin_index] と同等 ルートの宛先は destinations[destination_index] と同等です。 これらの配列にはゼロのインデックスが付加されます。送信元と送信先を 宛先リストの順序を指定できます

ルート マトリックスの計算例

computeRouteMatrix を使用する メソッドを使用してルート マトリックスを計算します。

HTTP の例

次の例は、computeRouteMatrix HTTP リクエストを示しています。この例では 次のことが可能です。

  • 2 つの出発地と 2 つの目的地の地点の配列を指定します。メソッド 各出発地から各目的地までのルートを計算するため、 4 つのルートが含まれています。

    配列では、最初の要素のインデックスは 0、2 番目の要素はインデックス 1、 使用できます。

  • レスポンスのフィールド マスクを含めて、レスポンスのどのフィールドが レスポンス (REST)または ComputeRoutesResponse (gRPC)を返します。この例では、次を返すようにリクエストを構成します。 originIndex さん、destinationIndex さん、duration さん、distanceMeters さん、status さん、 ルートごとにconditionです詳細については、次をご覧ください: 返されるフィールドを選択します

curl -X POST -d '{
  "origins": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420761,
            "longitude": -122.081356
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.403184,
            "longitude": -122.097371
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    }
  ],
  "destinations": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420999,
            "longitude": -122.086894
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.383047,
            "longitude": -122.044651
          }
        }
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE"
}' \
-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'

レスポンスには、すべての送信元の組み合わせに対して可能な 4 つのルートが含まれます。 示されています

レスポンスの各ルートを特定するには、originIndexdestinationIndex レスポンス フィールド。たとえば、originIndex が 1 の場合、 のインデックス 1 の地点から計算されたルート リクエスト内の origins 配列。

[
    {
        "originIndex": 0,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 822,
        "duration": "160s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 2919,
        "duration": "361s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 5598,
        "duration": "402s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 0,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 7259,
        "duration": "712s",
        "condition": "ROUTE_EXISTS"
    }
]

gRPC の例

たとえば、gRPC リクエストについては、次のリンク先の例をご覧ください。 gRPC リクエストの例。Java このページの例では、Compute Routes と Cloud Logging Compute Route Matrix。