경로 행렬 계산

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

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

ComputeRouteMatrix 메서드는 거리 매트릭스 서비스에 비해 다음과 같은 몇 가지 이점이 있습니다.

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

ComputeRouteMatrix 메서드 사용 설정

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

ComputeRouteMatrix 메서드 사용

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

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

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 저장소에서 필요한 protobuffers를 체크아웃합니다.

    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으로 색인이 생성됩니다. 출발지 및 도착지 목록 순서를 저장하는 것이 중요합니다.

통행료 계산

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

통행료 계산 예시는 경로 매트릭스 계산 예시를 참고하세요.