Method: computeRoutes

터미널 및 중간 경유지 세트를 고려하여 기본 경로와 선택적 대체 경로를 반환합니다.

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

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

  • 사용 가능한 모든 필드의 필드 마스크(수동 검사용): X-Goog-FieldMask: *
  • 경로 수준 시간, 거리, 다중선의 필드 마스크(프로덕션 설정 예시): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

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

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

HTTP 요청

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

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,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean
}
필드
origin

object (Waypoint)

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

destination

object (Waypoint)

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

intermediates[]

object (Waypoint)

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

travelMode

enum (RouteTravelMode)

선택사항입니다. 이동수단을 지정합니다.

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"입니다.

computeAlternativeRoutes

boolean

선택사항입니다. 경로 외에 대체 경로를 계산할지 지정합니다. 중간 경유지가 있는 요청에는 대체 경로가 반환되지 않습니다.

routeModifiers

object (RouteModifiers)

선택사항입니다. 경로가 계산되는 방식에 영향을 미치는 충족 조건 집합입니다.

languageCode

string

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

units

enum (Units)

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

optimizeWaypointOrder

boolean

optimizeWaypointOrder가 true로 설정되면 지정된 중간 웨이포인트의 순서를 변경하여 경로의 전반적인 비용을 최소화하려고 시도합니다. 중간 경유지 중 경유 경유지가 있는 경우 요청이 실패합니다. ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index를 사용하여 새 순서를 찾습니다. X-Goog-FieldMask 헤더에서 routes.optimized_intermediate_waypoint_index가 요청되지 않으면 요청이 실패합니다. optimizeWaypointOrder가 false로 설정되면 ComputeRoutesResponse.optimized_intermediate_waypoint_index는 비어 있습니다.

응답 본문

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

승인 범위

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

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

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