경로 행렬 계산

Routes Preferred API의 ComputeRouteMatrix 메서드를 사용하면 출발지와 목적지가 여러 개인 경로의 거리와 소요 시간을 계산할 수 있습니다. ComputeRouteMatrix는 스트리밍 gRPC 호출과 REST HTTP 호출을 모두 지원합니다.

출발지 및 목적지 쌍 목록이 주어지면 ComputeRouteMatrix는 각 출발지에서 시작하여 각 목적지에서 끝나는 경로의 거리와 소요 시간을 계산합니다. 스트림의 각 요소는 단일 경로의 정보에 해당합니다.

ComputeRouteMatrix 메서드는 거리 행렬 서비스에 비해 다음과 같은 여러 이점이 있습니다.

  • 스트리밍을 사용하면 전체 행렬이 계산되기 전에 요소를 반환할 수 있으므로 지연 시간이 줄어듭니다.
  • ComputeRouteMatrix에는 세분화된 트래픽 계산 옵션이 있어 품질과 지연 시간을 절충할 수 있습니다.
  • 요청이 Google 인프라 내에서 더 높은 우선순위로 실행되므로 가용성이 높아집니다.
  • 경유지의 방향 (이동 방향) 및 도로변 정보를 지정할 수 있습니다.
  • 경로 거리 및 도착예정시간과 함께 요금 정보를 반환할 것을 요청할 수 있습니다.

ComputeRouteMatrix 메서드 사용 설정

코드에서 ComputeRouteMatrix 메서드를 사용하려면 먼저 이 메서드를 사용 설정해야 합니다. Routes Preferred API 메서드의 사용 설정에 대한 자세한 내용은 시작하기를 참조하세요.

ComputeRouteMatrix 메서드 사용

ComputeRouteMatrix 메서드는 Routes Preferred v1 엔드포인트를 통해 사용할 수 있습니다.

자세한 내용은 다음 문서를 참조하세요.

gRPC: https://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1

REST: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix

다음 일반 단계에서는 gRPC를 사용하여 ComputeRouteMatrix 메서드를 호출하는 방법을 설명합니다.

  1. googleapis 저장소에서 필요한 protobuf를 확인합니다.

    https://github.com/googleapis/googleapis/tree/master/google/maps/routes

    Go와 같은 일부 빌드 시스템에서는 이 작업을 자동으로 수행할 수도 있습니다.

  2. 선호하는 언어와 빌드 도구 세트를 사용하여 관련 프로토버퍼 코드를 생성합니다.

  3. 요청을 생성합니다. 요청과 함께 두 가지 필수 메타데이터를 전송해야 합니다.

    • X-Goog-Api-Key는 API 키로 설정해야 합니다.
    • X-Goog-Fieldmask는 응답에 필요한 필드의 쉼표로 구분된 목록으로 설정해야 합니다. 예: X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status 와일드 카드 문자 (*)를 사용하여 모든 필드를 표시할 수 있지만 권장하지 않습니다. 와일드 카드 문자를 사용하여 API 응답을 테스트하고 이해하되 프로덕션 코드의 필드 마스크에 원하는 필드를 명시적으로 나열합니다.

      필드 마스크 문자열을 구성하는 방법에 관한 자세한 내용은 https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto를 참고하세요. 필요하지 않은 필드를 사용 중지하면 추가 계산이 필요할 수 있으므로 지연 시간을 줄일 수 있습니다. 필요한 필드를 지정하고 나중에 더 많은 계산이 필요한 새 필드를 추가하면 지연 시간이 안정적으로 유지됩니다.

  4. routespreferred.googleapis.com:443로 요청을 보냅니다.TLS 프로토콜을 사용해야 합니다.

ComputeRouteMatrix 메서드를 사용하는 예시는 경로 매트릭스 계산 (베타) 예시를 참조하세요.

ComputeRouteMatrix 메서드의 두드러진 특징은 전체 스트림 또는 개별 요소에 대해 오류 코드를 반환할 수 있다는 점입니다. 예를 들어 요청의 형식이 잘못된 경우 (예: 출처가 0개인 경우) 스트림 연결에서 오류를 반환합니다. 하지만 오류가 스트림의 일부 요소에만 적용되는 경우 (예: 출발지에 잘못된 장소 ID 설정) 오류의 영향을 받는 요소에만 오류 코드가 포함됩니다.

스트림에서 반환된 요소는 어떤 순서로든 반환되지 않을 수 있습니다. 따라서 각 요소에는 origin_indexdestination_index가 포함됩니다. 요청에 지정된 출발지와 목적지의 경우 경로 출발지는 주어진 요소의 origins[origin_index]와 동일하고 경로 목적지는 destinations[destination_index]와 같습니다. 이러한 배열은 0으로 색인이 생성됩니다. 출발지 및 목적지 목록 주문을 저장하는 것이 중요합니다.

통행료 계산

통행료 계산에 관한 자세한 내용은 통행료 계산을 참고하세요.

통행료를 계산하는 예는 경로 행렬 계산 예시를 참조하세요.