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://routes.googleapis.com/directions/v2: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,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
필드
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)

선택사항입니다. 출발 시간입니다. 이 값을 설정하지 않으면 기본값은 요청한 시간입니다. 참고: RouteTravelModeTRANSIT로 설정된 경우에만 과거의 departureTime를 지정할 수 있습니다. 대중교통 이동은 최대 7일 전 또는 100일 후까지 사용할 수 있습니다.

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

arrivalTime

string (Timestamp format)

선택사항입니다. 도착 시간입니다. 참고: RouteTravelModeTRANSIT으로 설정된 경우에만 설정할 수 있습니다. departureTime 또는 arrivalTime 중 하나를 지정할 수 있지만 둘 다 지정할 수는 없습니다. 대중교통 이동은 최대 7일 전 또는 100일 후까지 사용할 수 있습니다.

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를 참고하세요. 지원되는 언어 목록은 언어 지원을 참고하세요. 이 값을 제공하지 않으면 경로 요청의 위치에서 표시 언어가 추론됩니다.

regionCode

string

선택사항입니다. ccTLD ('최상위 도메인') 두 문자 값으로 지정된 지역 코드입니다. 자세한 내용은 국가 코드 최상위 도메인을 참고하세요.

units

enum (Units)

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

optimizeWaypointOrder

boolean

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

requestedReferenceRoutes[]

enum (ReferenceRoute)

선택사항입니다. 기본 경로 외에 요청의 일부로 계산할 참조 경로를 지정합니다. 참조 경로는 기본 경로와 다른 경로 계산 목표가 있는 경로입니다. 예를 들어 FUEL_EFFICIENT 참조 경로 계산은 최적의 연료 효율 경로를 생성하는 다양한 매개변수를 고려합니다. 이 기능을 사용할 때는 결과 경로에서 routeLabels를 찾습니다.

extraComputations[]

enum (ExtraComputation)

선택사항입니다. 요청을 완료하는 데 사용할 수 있는 추가 계산 목록입니다. 참고: 이러한 추가 계산으로 인해 응답에 추가 필드가 반환될 수 있습니다. 이러한 추가 필드는 응답에 반환되도록 필드 마스크에 지정되어야 합니다.

trafficModel

enum (TrafficModel)

선택사항입니다. 교통량을 고려한 시간을 계산할 때 사용할 가정을 지정합니다. 이 설정은 RouteRouteLeg의 duration 필드에 반환되는 값에 영향을 미치며, 여기에는 이전 평균을 기반으로 한 예상 이동 시간이 포함됩니다. TrafficModelRoutingPreferenceTRAFFIC_AWARE_OPTIMAL로, RouteTravelModeDRIVE로 설정한 요청에만 사용할 수 있습니다. 트래픽이 요청되고 TrafficModel이 지정되지 않은 경우 기본값은 BEST_GUESS입니다.

transitPreferences

object (TransitPreferences)

선택사항입니다. TRANSIT 경로에 대해 반환된 경로에 영향을 미치는 환경설정을 지정합니다. 참고: RouteTravelModeTRANSIT로 설정된 경우에만 transitPreferences를 지정할 수 있습니다.

응답 본문

v2.computeRoutes는 응답 메시지를 계산합니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
필드
routes[]

object (Route)

compute_alternatives_routes를 지정하면 계산된 경로 배열 (최대 3개)을 포함하고 지정하지 않으면 경로 1개만 포함합니다. 이 배열에 항목이 여러 개 포함된 경우 첫 번째 항목이 가장 권장되는 경로입니다. 배열이 비어 있으면 경로를 찾을 수 없음을 의미합니다.

fallbackInfo

object (FallbackInfo)

서버가 모든 입력 환경설정으로 경로 결과를 계산할 수 없는 경우 다른 계산 방법을 사용하도록 대체할 수 있습니다. 대체 모드가 사용되면 이 필드에 대체 응답에 관한 자세한 정보가 포함됩니다. 그렇지 않으면 이 필드는 설정되지 않습니다.

geocodingResults

object (GeocodingResults)

주소로 지정된 경유지의 지오코딩 응답 정보를 포함합니다.

PolylineQuality

다중선의 품질을 지정하는 값 집합입니다.

열거형
POLYLINE_QUALITY_UNSPECIFIED 지정된 다중선 품질 환경설정이 없습니다. 기본값은 OVERVIEW입니다.
HIGH_QUALITY 응답 크기가 증가하는 대신 OVERVIEW보다 많은 포인트를 사용하여 구성된 고품질 다중선 선을 지정합니다. 더 높은 정밀도가 필요한 경우 이 값을 사용하세요.
OVERVIEW 소수의 점을 사용하여 구성된 개요 폴리라인을 지정합니다. 경로 개요를 표시할 때 이 값을 사용합니다. 이 옵션을 사용하면 HIGH_QUALITY 옵션을 사용할 때보다 요청 지연 시간이 짧습니다.

PolylineEncoding

반환할 선분의 기본 유형을 지정합니다.

열거형
POLYLINE_ENCODING_UNSPECIFIED 지정된 다중선 유형 환경설정이 없습니다. 기본값은 ENCODED_POLYLINE입니다.
ENCODED_POLYLINE 다중선 인코딩 알고리즘을 사용하여 인코딩된 다중선을 지정합니다.
GEO_JSON_LINESTRING GeoJSON LineString 형식을 사용하여 다중선을 지정합니다.

ReferenceRoute

ComputeRoutesRequest에서 지원되는 참조 경로입니다.

열거형
REFERENCE_ROUTE_UNSPECIFIED 사용되지 않음. 이 값이 포함된 요청은 실패합니다.
FUEL_EFFICIENT 연비 최적 경로
SHORTER_DISTANCE

이동 거리가 더 짧은 경로 실험용으로 제공되는 기능입니다.

DRIVE 요청의 경우 이 기능은 운전 편의보다 더 짧은 거리를 우선시합니다. 예를 들어 고속도로 대신 지방 도로를 이용하거나 비포장 도로를 이용하거나 주차장을 통과할 수 있습니다. 이 기능은 Google 지도에서 불법으로 알고 있는 경로를 반환하지 않습니다.

BICYCLETWO_WHEELER 요청의 경우 이 기능은 requestedReferenceRoutes를 지정하지 않을 때 반환되는 것과 유사한 경로를 반환합니다.

이 기능은 중간 경유지 또는 optimizeWaypointOrder를 통한 다른 이동 모드와 호환되지 않습니다. 이러한 요청은 실패합니다. 하지만 모든 routingPreference와 함께 사용할 수 있습니다.

ExtraComputation

요청을 완료하는 동안 실행할 추가 계산입니다.

열거형
EXTRA_COMPUTATION_UNSPECIFIED 사용되지 않음. 이 값이 포함된 요청은 실패합니다.
TOLLS 경로의 통행료 정보입니다.
FUEL_CONSUMPTION 경로의 예상 연료 소비량입니다.
TRAFFIC_ON_POLYLINE 경로의 교통 인식 다중선
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions: 형식이 지정된 HTML 텍스트 문자열로 표시됩니다. 이 콘텐츠는 있는 그대로 읽어야 합니다. 이 콘텐츠는 표시 전용입니다. 프로그래매틱 방식으로 파싱하지 마세요.

경로

시작, 종료, 중간 경유지를 연결하는 일련의 연결된 도로 구간으로 구성된 경로를 포함합니다.

JSON 표현
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string
}
필드
routeLabels[]

enum (RouteLabel)

다른 경로와 비교할 경로의 특정 속성을 식별하는 데 유용한 Route의 라벨입니다.

legs[]

object (RouteLeg)

경로를 구성하는 구간 (경유지 간의 경로 세그먼트) 모음입니다. 각 구간은 via가 아닌 두 Waypoints 간의 이동에 해당합니다. 예를 들어 중간 경유지가 없는 경로는 구간이 하나만 있습니다. via가 아닌 중간 경유지가 하나 포함된 경로에는 두 개의 구간이 있습니다. via 중간 경유지가 하나 포함된 경로에는 구간이 하나 있습니다. 구간의 순서는 origin에서 intermediates, destination로 이어지는 경유지의 순서와 일치합니다.

distanceMeters

integer

경로의 이동 거리(미터)입니다.

duration

string (Duration format)

경로를 탐색하는 데 걸리는 시간입니다. routingPreferenceTRAFFIC_UNAWARE로 설정하면 이 값은 staticDuration와 동일합니다. routingPreferenceTRAFFIC_AWARE 또는 TRAFFIC_AWARE_OPTIMAL로 설정하면 이 값은 트래픽 상태를 고려하여 계산됩니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

staticDuration

string (Duration format)

교통상황을 고려하지 않고 경로를 통과하는 데 걸리는 시간입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

polyline

object (Polyline)

전체 경로 폴리라인입니다. 이 다중선은 모든 legs의 결합된 다중선입니다.

description

string

경로에 대한 설명입니다.

warnings[]

string

경로를 표시할 때 표시할 경고 배열입니다.

viewport

object (Viewport)

폴리라인의 뷰포트 경계 상자입니다.

travelAdvisory

object (RouteTravelAdvisory)

경로에 대한 추가 정보입니다.

optimizedIntermediateWaypointIndex[]

integer

optimizeWaypointOrder를 true로 설정하면 이 필드에 중간 경로의 최적화된 순서가 포함됩니다. 그렇지 않으면 이 필드는 비어 있습니다. 예를 들어 출발지: LA, 중간 경로: 댈러스, 배너고, 피닉스, 도착지: 뉴욕을 입력하고 최적화된 중간 경로 순서가 피닉스, 댈러스, 배너고인 경우 이 필드에는 값 [2, 0, 1]이 포함됩니다. 색인은 입력에 제공된 첫 번째 중간 웨이포인트의 경우 0으로 시작합니다.

localizedValues

object (RouteLocalizedValues)

Route의 속성을 텍스트로 표현한 것입니다.

routeToken

string

Navigation SDK에 전달하여 내비게이션 중에 경로를 재구성하고 경로를 변경하는 경우 경로가 생성될 때의 원래 의도를 준수할 수 있는 불투명 토큰입니다. 이 토큰을 불투명 BLOB로 취급합니다. 서비스가 정확히 동일한 경로를 반환하더라도 값이 변경될 수 있으므로 요청 간에 값을 비교하지 마세요.

참고: Route.route_tokenComputeRoutesRequest.routing_preferenceTRAFFIC_AWARE 또는 TRAFFIC_AWARE_OPTIMAL로 설정한 요청에만 사용할 수 있습니다. 경유지 경로가 있는 요청에는 Route.route_token가 지원되지 않습니다.

RouteLabel

다른 경로와 비교할 경로의 특정 속성을 식별하는 데 유용한 Route의 라벨입니다.

열거형
ROUTE_LABEL_UNSPECIFIED 기본값 - 사용되지 않음
DEFAULT_ROUTE 경로 계산에 대해 반환된 기본 '최적의' 경로입니다.
DEFAULT_ROUTE_ALTERNATE 기본 '최적' 경로의 대안입니다. computeAlternativeRoutes가 지정되면 이와 같은 경로가 반환됩니다.
FUEL_EFFICIENT 연비 최적 경로 이 값으로 라벨이 지정된 경로는 연료 소비와 같은 에코 매개변수에 최적화된 것으로 간주됩니다.
SHORTER_DISTANCE 이동 거리가 더 짧은 경로 실험용으로 제공되는 기능입니다.

RouteLeg

via가 아닌 경유지 간에 세그먼트가 포함되어 있습니다.

JSON 표현
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
필드
distanceMeters

integer

경로 구간의 이동 거리(미터)입니다.

duration

string (Duration format)

구간을 이동하는 데 걸리는 시간입니다. route_preferenceTRAFFIC_UNAWARE로 설정된 경우 이 값은 staticDuration과 같습니다. route_preferenceTRAFFIC_AWARE 또는 TRAFFIC_AWARE_OPTIMAL이면 이 값은 트래픽 상태를 고려하여 계산됩니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

staticDuration

string (Duration format)

교통상황을 고려하지 않고 계산된 구간 이동 시간입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

polyline

object (Polyline)

step의 폴리라인을 포함하는 이 구간의 전체 폴리라인입니다.

startLocation

object (Location)

이 구간의 시작 위치입니다. 이 위치는 제공된 origin와 다를 수 있습니다. 예를 들어 제공된 origin가 도로 근처에 있지 않으면 도로의 한 지점입니다.

endLocation

object (Location)

이 구간의 종료 위치입니다. 이 위치는 제공된 destination와 다를 수 있습니다. 예를 들어 제공된 destination가 도로 근처에 있지 않으면 도로의 한 지점입니다.

steps[]

object (RouteLegStep)

이 구간의 구간을 나타내는 단계 배열입니다. 각 단계는 하나의 탐색 안내를 나타냅니다.

travelAdvisory

object (RouteLegTravelAdvisory)

경로 구간의 가능한 교통 구역 제한과 같이 사용자에게 알려야 하는 추가 정보가 포함됩니다.

localizedValues

object (RouteLegLocalizedValues)

RouteLeg의 속성을 텍스트로 표현한 것입니다.

stepsOverview

object (StepsOverview)

RouteLeg의 단계에 관한 개요 정보입니다. 이 필드는 대중교통 경로에 대해서만 채워집니다.

폴리라인

인코딩된 다중선을 캡슐화합니다.

JSON 표현
{

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
필드
통합 필드 polyline_type. 폴리라인 유형을 캡슐화합니다. 기본값은 encoded_polyline입니다. polyline_type은 다음 중 하나여야 합니다.
encodedPolyline

string

다중선 인코딩 알고리즘을 사용하여 다중선의 문자열 인코딩

geoJsonLinestring

object (Struct format)

GeoJSON LineString 형식을 사용하여 다중선을 지정합니다.

RouteLegStep

RouteLeg의 세그먼트를 포함합니다. 단계는 단일 탐색 안내에 해당합니다. 경로 구간은 단계로 구성됩니다.

JSON 표현
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
필드
distanceMeters

integer

이 단계의 이동 거리(미터)입니다. 경우에 따라 이 필드에 값이 없을 수 있습니다.

staticDuration

string (Duration format)

교통 상황을 고려하지 않고 이 단계를 통과하는 데 걸리는 시간입니다. 경우에 따라 이 필드에 값이 없을 수 있습니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

polyline

object (Polyline)

이 단계와 연결된 다중선입니다.

startLocation

object (Location)

이 단계의 시작 위치입니다.

endLocation

object (Location)

이 단계의 종료 위치입니다.

navigationInstruction

object (NavigationInstruction)

내비게이션 안내

travelAdvisory

object (RouteLegStepTravelAdvisory)

구간 단계에서 가능한 교통 구역 제한과 같이 사용자에게 알려야 하는 추가 정보가 포함됩니다.

localizedValues

object (RouteLegStepLocalizedValues)

RouteLegStep의 속성을 텍스트로 표현한 것입니다.

transitDetails

object (RouteLegStepTransitDetails)

이동 모드가 TRANSIT인 경우 이 단계와 관련된 세부정보입니다.

travelMode

enum (RouteTravelMode)

이 단계에 사용된 이동 수단입니다.

Maneuver

현재 단계에서 취할 내비게이션 작업을 지정하는 값 집합입니다 (예: 좌회전, 합류, 직진).

열거형
MANEUVER_UNSPECIFIED 사용되지 않음.
TURN_SLIGHT_LEFT 왼쪽으로 살짝 돌립니다.
TURN_SHARP_LEFT 급격하게 왼쪽으로 회전합니다.
UTURN_LEFT 좌회전해서 유턴합니다.
TURN_LEFT 왼쪽으로 돌아가세요.
TURN_SLIGHT_RIGHT 약간 오른쪽으로 돌립니다.
TURN_SHARP_RIGHT 급격하게 오른쪽으로 회전합니다.
UTURN_RIGHT 우회전합니다.
TURN_RIGHT 오른쪽으로 돌아가세요.
STRAIGHT 직진하세요.
RAMP_LEFT 왼쪽 램프로 진입합니다.
RAMP_RIGHT 오른쪽 램프로 진입합니다.
MERGE 트래픽에 병합합니다.
FORK_LEFT 왼쪽 갈래를 선택합니다.
FORK_RIGHT 오른쪽 갈래를 선택합니다.
FERRY 페리를 타세요.
FERRY_TRAIN 페리로 연결되는 기차를 타세요.
ROUNDABOUT_LEFT 원형 교차로에서 좌회전합니다.
ROUNDABOUT_RIGHT 원형 교차로에서 우회전합니다.
DEPART 초기 기동
NAME_CHANGE 도로 이름 변경을 나타내는 데 사용됩니다.

RouteLegStepTravelAdvisory

구간 단계에서 발생할 수 있는 교통 구역 제한과 같이 사용자에게 알려야 하는 추가 정보가 포함됩니다.

JSON 표현
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
필드
speedReadingIntervals[]

object (SpeedReadingInterval)

참고: 이 필드는 현재 채워져 있지 않습니다.

RouteLegStepLocalizedValues

특정 속성의 텍스트 표현입니다.

JSON 표현
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
필드
distance

object (LocalizedText)

텍스트 형식으로 표시된 이동 거리입니다.

staticDuration

object (LocalizedText)

트래픽 상태를 고려하지 않은 시간으로 텍스트 형식으로 표시됩니다.

RouteLegStepTransitDetails

TRANSIT 경로와 관련된 RouteLegStep의 추가 정보입니다.

JSON 표현
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
필드
stopDetails

object (TransitStopDetails)

경로의 도착 정류장 및 출발 정류장에 대한 정보입니다.

localizedValues

object (TransitDetailsLocalizedValues)

RouteLegStepTransitDetails의 속성을 텍스트로 표현한 것입니다.

headsign

string

이 노선에서 이동할 방향을 지정하며, 차량 위나 출발 정류장 위에 표시됩니다. 방향은 종착역인 경우가 많습니다.

headway

string (Duration format)

현재 동일한 정류장에서 각 출발 사이의 예상 시간을 시간으로 지정합니다. 예를 들어 간격(초) 값이 600인 경우 버스를 놓치면 10분을 기다려야 합니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

transitLine

object (TransitLine)

이 단계에서 사용된 대중교통 노선에 대한 정보입니다.

stopCount

integer

출발 정류장부터 도착 정류장까지의 정류장 수입니다. 이 수에는 도착 정류장은 포함되지만 출발 정류장은 포함되지 않습니다. 예를 들어 경로가 정류장 A에서 출발하여 정류장 B와 C를 지나 정류장 D에 도착하는 경우

stopCount

3을 반환합니다.

tripShortText

string

승객에게 대중교통 이동을 식별하기 위해 일정 및 표지판에 표시되는 텍스트입니다. 텍스트는 서비스 요일 내의 이동을 고유하게 식별해야 합니다. 예를 들어 '538'은 평일 오후 3시 10분에 캘리포니아 주 새너재이에서 캘리포니아 주 새크라멘토로 출발하는 Amtrak 열차의 tripShortText입니다.

TransitStopDetails

RouteLegStep의 대중교통 정류장에 대한 세부정보입니다.

JSON 표현
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
필드
arrivalStop

object (TransitStop)

단계의 도착 정류장에 대한 정보입니다.

arrivalTime

string (Timestamp format)

단계의 도착 예정 시간입니다.

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

departureStop

object (TransitStop)

단계의 출발 정류장에 대한 정보입니다.

departureTime

string (Timestamp format)

단계의 예상 출발 시간입니다.

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

TransitStop

대중교통 정류장 정보입니다.

JSON 표현
{
  "name": string,
  "location": {
    object (Location)
  }
}
필드
name

string

대중교통 정류장 이름입니다.

location

object (Location)

정류장의 위치로, 위도/경도 좌표로 표현됩니다.

TransitDetailsLocalizedValues

RouteTransitDetails 값에 대한 현지화된 설명입니다.

JSON 표현
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
필드
arrivalTime

object (LocalizedTime)

시간대와 함께 형식이 지정된 텍스트 표현의 시간입니다.

departureTime

object (LocalizedTime)

시간대와 함께 형식이 지정된 텍스트 표현의 시간입니다.

LocalizedTime

시간에 대한 현지화된 설명입니다.

JSON 표현
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
필드
time

object (LocalizedText)

지정된 시간대의 시간으로 문자열로 지정됩니다.

timeZone

string

시간대가 포함됩니다. IANA 시간대 데이터베이스(예: 미국/뉴욕')에 따라 정의된 시간대의 이름이 값으로 사용됩니다.

TransitLine

이 단계에서 사용된 대중교통 노선에 대한 정보를 포함합니다.

JSON 표현
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
필드
agencies[]

object (TransitAgency)

이 대중교통 노선을 운영하는 대중교통 기관입니다.

name

string

이 대중교통 노선의 전체 이름입니다(예: '8번가 지역선').

uri

string

대중교통 기관에서 제공하는 이 대중교통 노선의 URI입니다.

color

string

이 노선의 표지판에 일반적으로 사용되는 색상입니다. 16진수로 표시됩니다.

iconUri

string

이 노선과 연결된 아이콘의 URI입니다.

nameShort

string

이 대중교통 노선의 짧은 이름입니다. 일반적으로 이 이름은 'M7' 또는 '355'와 같은 노선 번호입니다.

textColor

string

이 노선의 표지판 텍스트에 일반적으로 사용되는 색상입니다. 16진수로 표시됩니다.

vehicle

object (TransitVehicle)

이 대중교통 노선에서 운행되는 차량의 유형입니다.

TransitAgency

대중교통 노선을 운영하는 대중교통 기관입니다.

JSON 표현
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
필드
name

string

이 대중교통 기관의 이름입니다.

phoneNumber

string

대중교통 기관의 언어별 형식의 전화번호입니다.

uri

string

대중교통 기관의 URI입니다.

TransitVehicle

대중교통 경로에 사용되는 차량에 대한 정보입니다.

JSON 표현
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
필드
name

object (LocalizedText)

이 차량의 이름입니다(대문자).

type

enum (TransitVehicleType)

사용된 차량 유형입니다.

iconUri

string

이 차량 유형과 연결된 아이콘의 URI입니다.

localIconUri

string

지역 교통 표지판을 기반으로 이 차량 유형과 연결되는 아이콘의 URI입니다.

TransitVehicleType

대중교통 노선의 차량 유형입니다.

열거형
TRANSIT_VEHICLE_TYPE_UNSPECIFIED 사용하지 않습니다.
BUS 버스
CABLE_CAR 일반적으로 지상에서 케이블로 운영되는 차량입니다. 공중 케이블카는 GONDOLA_LIFT 유형일 수도 있습니다.
COMMUTER_TRAIN 통근 열차
FERRY 페리
FUNICULAR 케이블로 당겨서 가파른 경사를 오르는 차량입니다. 푸니쿨라는 일반적으로 두 차량으로 구성되며, 각 차량이 다른 차량의 평형추 역할을 합니다.
GONDOLA_LIFT 공중 케이블카
HEAVY_RAIL 철도
HIGH_SPEED_TRAIN 고속 열차
INTERCITY_BUS 시외버스
LONG_DISTANCE_TRAIN 장거리 열차
METRO_RAIL 경전철
MONORAIL 모노레일
OTHER 기타 모든 차량
RAIL 철도
SHARE_TAXI 합승 택시는 일종의 버스이며, 경로상의 어느 곳에서나 승객이 승하차할 수 있습니다.
SUBWAY 지하철
TRAM 지상철
TROLLEYBUS 트롤리 버스

RouteLegTravelAdvisory

가능한 교통 구역 제한과 같이 사용자에게 구간 단계에서 알려야 하는 추가 정보가 포함됩니다.

JSON 표현
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
필드
tollInfo

object (TollInfo)

특정 RouteLeg의 통행료에 관한 정보를 포함합니다. 이 필드는 RouteLeg에 통행료가 있을 것으로 예상되는 경우에만 채워집니다. 이 필드는 설정되어 있지만 estimatedPrice 하위 필드가 채워지지 않은 경우 도로에 통행료가 포함될 것으로 예상되지만 예상 가격을 알 수 없습니다. 이 필드가 없으면 RouteLeg에 통행료가 없습니다.

speedReadingIntervals[]

object (SpeedReadingInterval)

속도 읽기 간격으로 트래픽 밀도를 자세히 보여줍니다. TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 라우팅 환경설정의 경우에 적용됩니다. 간격은 겹치지 않고 RouteLeg의 전체 다중선 좌표를 포함합니다. 지정된 간격의 시작점은 이전 간격의 끝점과 같습니다.

예:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).

RouteLegLocalizedValues

특정 속성의 텍스트 표현입니다.

JSON 표현
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
필드
distance

object (LocalizedText)

텍스트 형식으로 표시된 이동 거리입니다.

duration

object (LocalizedText)

텍스트 형식으로 표시되며 쿼리의 지역으로 현지화된 시간입니다. 교통상황을 고려합니다. 참고: 트래픽 정보를 요청하지 않은 경우 이 값은 staticDuration과 동일한 값입니다.

staticDuration

object (LocalizedText)

트래픽 상태를 고려하지 않은 시간으로 텍스트 형식으로 표시됩니다.

StepsOverview

RouteLegStep 목록에 관한 개요 정보를 제공합니다.

JSON 표현
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
필드
multiModalSegments[]

object (MultiModalSegment)

RouteLeg.steps의 다양한 멀티모달 세그먼트에 관한 요약된 정보입니다. RouteLeg에 단계에 멀티모달 세그먼트가 포함되어 있지 않으면 이 필드가 채워지지 않습니다.

MultiModalSegment

RouteLeg.steps의 다양한 다중 모드 세그먼트에 관한 요약 정보를 제공합니다. 다중 모달 세그먼트는 동일한 RouteTravelMode를 가진 연속된 RouteLegStep 1개 이상으로 정의됩니다. RouteLeg에 단계에 멀티모달 세그먼트가 포함되어 있지 않으면 이 필드가 채워지지 않습니다.

JSON 표현
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
필드
navigationInstruction

object (NavigationInstruction)

멀티모달 세그먼트의 NavigationInstruction입니다.

travelMode

enum (RouteTravelMode)

복합 모드 세그먼트의 이동 수단입니다.

stepStartIndex

integer

멀티모달 세그먼트의 시작인 상응하는 RouteLegStep 색인입니다.

stepEndIndex

integer

멀티모달 세그먼트의 끝인 상응하는 RouteLegStep 색인입니다.

표시 영역

대각선으로 반대되는 두 개의 lowhigh 지점으로 표시되는 위도-경도 뷰포트입니다. 표시 영역은 폐쇄된 영역으로 간주됩니다. 즉, 경계가 포함됩니다. 위도 경계는 -90도에서 90도 사이(양 끝값 포함)여야 하며 경도 경계는 -180도에서 180도 사이(양 끝값 포함)여야 합니다. 다양한 케이스에는 다음이 포함됩니다.

  • low = high이면 뷰포트는 단일 지점으로 구성됩니다.

  • low.longitude > high.longitude인 경우 경도 범위가 반전됩니다 (뷰포트가 180도 경도 선을 교차함).

  • low.longitude = -180도이고 high.longitude = 180도인 경우 뷰포트에 모든 경도가 포함됩니다.

  • low.longitude = 180도이고 high.longitude = -180도인 경우 경도 범위가 비어 있습니다.

  • low.latitudehigh.latitude보다 크면 위도 범위가 비어 있습니다.

lowhigh 모두 채워야 하며, 위에 정의된 대로 표현된 상자는 비워 둘 수 없습니다. 뷰포트가 비어 있으면 오류가 발생합니다.

예를 들어 이 뷰포트는 뉴욕시를 완전히 포함합니다.

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

JSON 표현
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
필드
low

object (LatLng)

필수 항목입니다. 뷰포트의 하단 지점입니다.

high

object (LatLng)

필수 항목입니다. 뷰포트의 최고점입니다.

RouteLocalizedValues

특정 속성의 텍스트 표현입니다.

JSON 표현
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
필드
distance

object (LocalizedText)

텍스트 형식으로 표시된 이동 거리입니다.

duration

object (LocalizedText)

텍스트 형식으로 표시되며 쿼리의 지역으로 현지화된 시간입니다. 교통상황을 고려합니다. 참고: 트래픽 정보를 요청하지 않은 경우 이 값은 staticDuration와 동일한 값입니다.

staticDuration

object (LocalizedText)

트래픽 상태를 고려하지 않은 시간으로 텍스트 형식으로 표시됩니다.

transitFare

object (LocalizedText)

텍스트 형식으로 표시된 대중교통 요금입니다.

GeocodingResults

출발지, 목적지, 중간 경유지의 GeocodedWaypoints를 포함합니다. 주소 웨이포인트에 대해서만 채워집니다.

JSON 표현
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
필드
origin

object (GeocodedWaypoint)

출발지 지오코딩된 경유지입니다.

destination

object (GeocodedWaypoint)

목적지 지오코딩된 경유지

intermediates[]

object (GeocodedWaypoint)

지오코딩된 중간 경유지 목록으로, 각 경유지에는 요청에 지정된 순서대로 경유지의 0부터 시작하는 위치에 해당하는 색인 필드가 포함됩니다.

GeocodedWaypoint

중간 지점으로 사용된 위치에 대한 세부정보입니다. 주소 웨이포인트에 대해서만 채워집니다. 주소가 지오코딩된 위치를 확인하기 위한 지오코딩 결과에 관한 세부정보를 포함합니다.

JSON 표현
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
필드
geocoderStatus

object (Status)

지오코딩 작업의 상태 코드 결과를 나타냅니다.

type[]

string

결과의 유형으로, 0개 이상의 유형 태그 형식입니다. 지원되는 유형: 주소 유형 및 주소 구성요소 유형

partialMatch

boolean

지오코더가 원래 요청에 대해 정확한 일치를 반환하지 않았지만 요청된 주소의 일부분과 일치함을 나타냅니다. 원래 요청을 검사하여 맞춤법 오류 및/또는 불완전한 주소를 찾아낼 수 있습니다.

placeId

string

이 결과의 장소 ID입니다.

intermediateWaypointRequestIndex

integer

요청에서 해당하는 중간 웨이포인트의 색인입니다. 해당 웨이포인트가 중간 웨이포인트인 경우에만 채워집니다.