Method: computeCustomRoutes

터미널 및 중간 경유지 집합과 경로 목표를 고려하여 경로 목표에 대한 최적의 경로를 계산합니다. 또한 가장 빠른 경로와 최단 경로를 참조 경로로 반환합니다.

참고: 이 방법을 사용하려면 입력에 응답 필드 마스크를 지정해야 합니다. URL 매개변수 $fields 또는 fields를 사용하거나 HTTP/gRPC 헤더 X-Goog-FieldMask를 사용하여 응답 필드 마스크를 제공할 수 있습니다(사용 가능한 URL 매개변수 및 헤더 참고). 값은 쉼표로 구분된 필드 경로 목록입니다. 필드 경로를 구성하는 방법에 관한 자세한 문서를 참고하세요.

예를 들어 이 메서드에서 다음을 실행합니다.

  • 사용 가능한 모든 필드의 필드 마스크 (수동 검사용): X-Goog-FieldMask: *
  • 경로 거리, 소요 시간, 토큰, 통행료 정보의 필드 마스크: X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

다음과 같은 이유로 와일드 카드 (*) 응답 필드 마스크를 사용하거나 최상위 수준 (routes)에서 필드 마스크를 지정하는 것은 권장하지 않습니다.

  • 필요한 필드만 선택하면 서버에서 계산 주기를 절약하여 지연 시간을 줄여 결과를 반환할 수 있습니다.
  • 프로덕션 작업에 필요한 필드만 선택하면 안정적인 지연 시간 성능을 보장할 수 있습니다. 향후 응답 필드가 추가될 수 있으며, 이러한 새 필드에는 추가 계산 시간이 필요할 수 있습니다. 모든 필드를 선택하거나 최상위 수준에서 모든 필드를 선택하면 추가되는 새 필드가 응답에 자동으로 포함되므로 성능이 저하될 수 있습니다.
  • 필요한 필드만 선택하면 응답 크기가 줄어들어 네트워크 처리량이 증가합니다.

HTTP 요청

POST https://routespreferred.googleapis.com/v1:computeCustomRoutes

URL은 gRPC 트랜스코딩 구문을 사용합니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "routeObjective": {
    object (RouteObjective)
  },
  "languageCode": string,
  "units": enum (Units)
}
필드
origin

object (Waypoint)

필수 항목입니다. 출발 웨이포인트

destination

object (Waypoint)

필수 항목입니다. 도착 웨이포인트

intermediates[]

object (Waypoint)

선택사항입니다. 에서 정차하거나 지나가는 경로상의 경유지 집합입니다 (도착지 제외). 최대 25개의 중간 경유지가 지원됩니다.

travelMode

enum (RouteTravelMode)

선택사항입니다. 교통수단을 지정합니다. DRIVE 및 'TWO_WHEELER'만 지원됩니다.

routingPreference

enum (RoutingPreference)

선택사항입니다. 경로를 계산하는 방법을 지정합니다. 서버는 선택한 라우팅 환경설정을 사용하여 경로를 계산하려고 시도합니다. 라우팅 환경설정으로 인해 오류가 발생하거나 지연 시간이 너무 길면 오류가 반환됩니다. travelModeDRIVE 또는 TWO_WHEELER인 경우에만 이 옵션을 지정할 수 있으며, 그렇지 않으면 요청이 실패합니다.

polylineQuality

enum (PolylineQuality)

선택사항입니다. 다중선의 품질에 대한 환경설정을 지정합니다.

polylineEncoding

enum (PolylineEncoding)

선택사항입니다. 다중선의 기본 인코딩을 지정합니다.

departureTime

string (Timestamp format)

선택사항입니다. 출발 시간입니다. 이 값을 설정하지 않으면 기본값은 요청한 시간입니다. 이 값을 이미 발생한 시간으로 설정하면 요청이 실패합니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

routeModifiers

object (RouteModifiers)

선택사항입니다. 경로 계산 방식에 영향을 주는 일련의 조건입니다.

routeObjective

object (RouteObjective)

필수 항목입니다. 최적화할 경로 목표입니다.

languageCode

string

선택사항입니다. BCP-47 언어 코드(예: 'en-US' 또는 'sr-Latn') 자세한 내용은 유니코드 언어 식별자를 참고하세요. 지원되는 언어 목록은 언어 지원을 참고하세요. 이 값을 제공하지 않으면 경로 요청의 위치에서 표시 언어가 추론됩니다.

units

enum (Units)

선택사항입니다. 표시 필드의 측정 단위를 지정합니다. 여기에는 NavigationInstructioninstruction 필드가 포함됩니다. 경로, 구간, 걸음 거리, 시간에 사용되는 측정 단위는 이 값의 영향을 받지 않습니다. 이 값을 제공하지 않으면 요청 위치에서 표시 단위가 추론됩니다.

응답 본문

성공한 경우 응답 본문에 ComputeCustomRoutesResponse의 인스턴스가 포함됩니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/maps-platform.routespreferred

자세한 내용은 OAuth 2.0 개요를 참고하세요.