경로 매트릭스 가져오기

Routes API를 사용하여 다음 도로의 거리와 소요 시간을 계산합니다. 여러 출발지와 목적지를 호출할 수 있는 computeRouteMatrix 메서드 (REST) 또는 스트리밍 ComputeRouteMatrix 메서드 (gRPC)를 사용하면 됩니다.

출발지와 목적지 목록이 주어지면 메서드는 - 각 출발지에서 시작하는 경로의 거리와 소요 시간을 계산합니다. 각 목적지에서 끝납니다

대중교통 경로 매트릭스 가져오기

대중교통에 대한 경로 행렬을 계산할 수도 있습니다. 대중교통 경로 매트릭스 가져오기를 참조하세요.

요청 한도

Compute Route Matrix 메서드는 다음 요청을 적용합니다. 경유지에 대한 제한 사항이 포함될 수 있습니다. 요소는 경로 매트릭스에서 각 출발지와 목적지 사이의 경로이므로 요소의 개수는 출발지 수에 목적지 수를 곱한 값입니다. 대상 예를 들어 출발지가 10개이고 목적지가 10개인 경우 요소가 100개가 됩니다.

  • 경로의 요소 수는 625개를 초과할 수 없습니다. TRANSIT 경로가 아닌 경로

  • TRANSIT 경로를 지정하는 경우 요소 수는 다음을 초과할 수 없습니다. 100입니다.

  • TRAFFIC_AWARE_OPTIMAL를 지정하는 경우 요소 수는 100을 초과할 수 없습니다. TRAFFIC_AWARE_OPTIMAL에 관한 자세한 내용은 다음을 참고하세요. 교통정보 데이터 포함 방법 및 포함 여부를 지정합니다.

  • 주소 또는 장소 ID를 사용하여 출발지 또는 목적지를 지정하는 경우, 총 50개까지 지정할 수 있습니다

응답 오류

Compute Route Matrix 메서드의 한 가지 특징은 오류가 전체 응답 또는 개별 응답 요소에 대해 반환됩니다. 예를 들어 요청의 형식이 잘못된 경우 전체 응답에 오류가 포함됩니다. 예를 들어 출처가 0개입니다.

하지만 오류가 이 오류의 하위 집합 가 포함되어 있을 수 있습니다 (예: 하나의 조합된 경우) 의 영향을 받는 요소만 오류 코드를 반환합니다.

gRPC 스트림 결과

ComputeRouteMatrix gRPC 메서드는 출발지와 목적지 목록을 가져와서 스트림을 반환합니다. 에는 출발지와 목적지의 각 조합에 대한 경로 정보가 포함됩니다. 결과가 스트림으로 반환되므로 결과가 모두 스트림될 때까지 가능한 경로 조합은 있습니다.

스트림에서 반환한 요소는 있습니다. 따라서 각 응답 요소에는 origin_indexdestination_index 요청에 지정된 출발지와 목적지의 경우 지정된 요소의 경로 출발지는 origins[origin_index]과 같습니다. 경로 대상은 destinations[destination_index]와 동일합니다. 이러한 배열은 0으로 색인이 생성됩니다. 데이터의 출처와 대상 목록 주문을 지정합니다.

경로 행렬 계산 예

computeRouteMatrix 사용 메서드를 사용하여 경로 매트릭스를 계산합니다.

HTTP 예시

다음 예는 computeRouteMatrix HTTP 요청을 보여줍니다. 이 예에서 나:

  • 두 개의 출발지와 두 개의 목적지 경유지의 배열을 지정합니다. 메서드 각 출발지에서 각 목적지까지의 경로를 계산하므로 응답은 4개의 경로가 포함됩니다.

    배열에서 첫 번째 요소는 색인 0, 두 번째 요소는 색인 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'

응답에는 모든 출발지의 조합에 대한 네 개의 가능한 경로가 포함되어 있습니다. 목적지 경유지가 포함됩니다.

originIndex 및 응답 필드 destinationIndex개 예를 들어 originIndex 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와 경로 행렬 계산