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/v1alpha: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 개요를 참고하세요.