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

Google에서는 다음과 같은 이유로 와일드 카드 (*) 응답 필드 마스크를 사용하거나 최상위 수준 (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만 지원됩니다.

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')입니다. 자세한 내용은 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier를 참조하세요. 지원되는 언어 목록은 언어 지원을 참고하세요. 이 값을 제공하지 않으면 표시 언어는 경로 요청의 위치에서 추론됩니다.

units

enum (Units)

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

응답 본문

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

승인 범위

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

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

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