경로 행렬 계산

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

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

ComputeRouteMatrix 메서드에는 거리 행렬 서비스에 비해 몇 가지 장점이 있습니다.

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

ComputeRouteMatrix 메서드 사용 설정

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

ComputeRouteMatrix 메서드 사용

ComputeRouteMatrix 메서드는 경로 기본 설정 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 저장소에서 필요한 프로토버를 확인합니다.

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

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

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

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

    • 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부터 색인 처리됩니다. 출발지 및 목적지 목록 순서를 저장하는 것이 중요합니다.

통행료 계산

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

통행료 계산 예는 경로 행렬 예 계산을 참고하세요.