- HTTP 요청
- 요청 본문
- 응답 본문
- 다중선 품질
- 다중선 인코딩
- 단위
- 참조 경로
- 추가 컴퓨팅
- 경로
- RouteLabel
- RouteLeg
- 다중선
- RouteLegStep
- 탐색 안내
- 매니버
- RouteLegStepTravelAdvisory
- RouteLegTravelAdvisory
- 표시 영역
- GeocodingResults
- GeocodedWaypoint
터미널 및 중간 경유지 집합이 있는 경우 선택적 대체 경로와 함께 기본 경로를 반환합니다.
참고: 이 방법을 사용하려면 입력에 응답 필드 마스크를 지정해야 합니다. 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 ( |
필드 | |
---|---|
origin |
필수 항목입니다. 출발지 경유지입니다. |
destination |
필수 항목입니다. 목적지 경유지입니다. |
intermediates[] |
선택사항. 정류장 또는 정류장을 경유하기 위한 경로 (경유지 제외)의 경유지 집합입니다. 최대 25개의 중간 경유지가 지원됩니다. |
travelMode |
선택사항. 이동수단을 지정합니다. |
routingPreference |
선택사항. 경로를 계산하는 방법을 지정합니다. 서버는 선택한 라우팅 환경설정을 사용하여 경로를 계산하려고 시도합니다. 라우팅 환경설정으로 인해 오류 또는 추가 긴 지연 시간이 발생하면 오류가 반환됩니다. |
polylineQuality |
선택사항. 다중선의 품질에 대한 환경설정을 지정합니다. |
polylineEncoding |
선택사항. 다중선의 기본 인코딩을 지정합니다. |
departureTime |
선택사항. 출발 시간입니다. 이 값을 설정하지 않으면 이 값은 기본적으로 요청한 시간으로 기본 설정됩니다. 이 값을 이미 발생한 시간으로 설정하면 요청이 실패합니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프(나노초 해상도 및 최대 9자리 소수) 예: |
computeAlternativeRoutes |
선택사항. 경로 외에 대체 경로를 계산할지 지정합니다. |
routeModifiers |
선택사항. 경로 계산 방식에 영향을 미치는 일련의 조건을 충족합니다. |
languageCode |
선택사항. BCP-47 언어 코드(예: 'en-US' 또는 'sr-Latn')입니다. 자세한 내용은 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier를 참조하세요. 지원되는 언어 목록은 언어 지원을 참고하세요. 이 값을 제공하지 않으면 경로 요청의 위치에서 표시 언어가 추론됩니다. |
regionCode |
선택사항. ccTLD ('최상위 도메인') 두 문자 값으로 지정되는 지역 코드입니다. 자세한 내용은 https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains#Country_code_top-level_domains를 참고하세요. |
units |
선택사항. 표시 필드의 측정 단위를 지정합니다. 여기에는 |
requestedReferenceRoutes[] |
선택사항. 기본 경로 외에 요청의 일부로 계산할 참조 경로를 지정합니다. 참조 경로는 기본 경로와 다른 경로 계산 목표가 있는 경로입니다. 예를 들어 FUEL_EFFICIENT 참조 경로 계산은 최적의 연비 최적 경로를 생성하는 다양한 매개변수를 고려합니다. |
extraComputations[] |
선택사항. 요청을 완료하는 데 사용할 수 있는 추가 계산 목록입니다. 참고: 이러한 추가 계산은 응답에서 추가 필드를 반환할 수 있습니다. 이러한 추가 필드는 응답에 반환될 필드 마스크에도 지정해야 합니다. |
응답 본문
성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.
v2.computeRoutes 응답 메시지를 전달합니다.
JSON 표현 |
---|
{ "routes": [ { object ( |
필드 | |
---|---|
routes[] |
compute_alternatives_routes를 지정하면 계산된 경로의 배열 (최대 3개)이 포함되고, 지정하지 않으면 하나의 경로만 포함됩니다. 이 배열에 여러 항목이 포함된 경우 첫 번째 경로가 가장 권장되는 경로입니다. 배열이 비어 있으면 경로를 찾을 수 없는 것입니다. |
fallbackInfo |
서버가 모든 입력 환경설정으로 경로 결과를 계산할 수 없는 경우 다른 계산 방식을 사용하는 경우가 있습니다. 대체 모드를 사용하면 이 필드에 대체 응답에 관한 자세한 정보가 포함됩니다. 그렇지 않으면 필드가 설정되지 않습니다. |
geocodingResults |
주소로 지정된 경유지에 대한 지오코딩 응답 정보를 포함합니다. |
다중선 품질
다중선의 품질을 지정하는 값 집합입니다.
열거형 | |
---|---|
POLYLINE_QUALITY_UNSPECIFIED |
다중선 품질 환경설정이 지정되지 않았습니다. 기본값은 OVERVIEW 입니다. |
HIGH_QUALITY |
OVERVIEW 보다 많은 점을 사용하여 구성된 고품질 다중선을 지정하지만 이 경우 응답 크기는 높아집니다. 정밀도가 더 높을 때 이 값을 사용하세요. |
OVERVIEW |
소수의 점을 사용하여 구성된 전체선 다중선을 지정합니다. 경로의 개요를 표시할 때 이 값을 사용합니다. 이 옵션을 사용하면 HIGH_QUALITY 옵션을 사용할 때보다 요청 지연 시간이 짧아집니다. |
다중선 인코딩
반환될 기본 다중선 유형을 지정합니다.
열거형 | |
---|---|
POLYLINE_ENCODING_UNSPECIFIED |
다중선 유형 환경설정을 지정하지 않았습니다. 기본값은 ENCODED_POLYLINE 입니다. |
ENCODED_POLYLINE |
다중선 인코딩 알고리즘을 사용하여 인코딩된 다중선을 지정합니다. |
GEO_JSON_LINESTRING |
GeoJSON LineString 형식을 사용하여 다중선을 지정합니다. |
단위
디스플레이에 사용되는 측정 단위를 지정하는 값 집합입니다.
열거형 | |
---|---|
UNITS_UNSPECIFIED |
측정 단위가 지정되지 않았습니다. 기본값은 요청에서 추론된 측정 단위입니다. |
METRIC |
측정항목 측정 단위 |
IMPERIAL |
야드파운드법 (영국) 단위입니다. |
참조 경로
ComputeRoutesRequest에서 지원되는 참조 경로입니다.
열거형 | |
---|---|
REFERENCE_ROUTE_UNSPECIFIED |
사용되지 않음. 이 값이 포함된 요청은 실패합니다. |
FUEL_EFFICIENT |
연비 최적 경로 이 값으로 라벨이 지정된 경로는 연료 소비량과 같은 매개변수에 최적화된 것으로 결정됩니다. |
추가 계산
요청을 완료하는 동안 실행할 추가 계산.
열거형 | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
사용되지 않음. 이 값이 포함된 요청은 실패합니다. |
TOLLS |
노선의 통행료 정보입니다. |
FUEL_CONSUMPTION |
경로의 예상 연료 소비량 |
TRAFFIC_ON_POLYLINE |
경로에 대한 다중선을 트래피킹합니다. |
경로
출발지, 목적지, 중간 경유지를 연결하는 일련의 연결된 도로 구간으로 구성된 경로를 캡슐화합니다.
JSON 표현 |
---|
{ "routeLabels": [ enum ( |
필드 | |
---|---|
routeLabels[] |
경로의 특정 속성을 식별하는 데 유용한 |
legs[] |
경로를 구성하는 구간 (경유지 사이의 경로 세그먼트) 모음입니다. 각 구간은 |
distanceMeters |
경로의 이동 거리(미터 단위)입니다. |
duration |
경로를 탐색하는 데 필요한 시간입니다. 초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 ' |
staticDuration |
교통상황을 고려하지 않고 경로를 이동하는 데 소요되는 시간입니다. 초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 ' |
polyline |
전체 경로 다중선입니다. 이 다중선은 모든 |
description |
경로에 대한 설명입니다. |
warnings[] |
경로를 표시할 때 표시할 경고의 배열입니다. |
viewport |
다중선의 표시 영역 경계 상자 |
travelAdvisory |
경로에 대한 추가 정보입니다. |
routeToken |
Navigation SDK에 전달할 수 있는 웹 보안 base64 인코딩 경로 토큰입니다. 이를 통해 탐색 중에 Navigation SDK가 경로를 재구성할 수 있고 경로 재설정 시에는 경로 v2.computeRoutes가 호출될 때 원래 의도를 준수합니다. 고객은 이 토큰을 불투명 blob으로 취급해야 합니다. 참고: |
경로 라벨
경로의 특정 속성을 식별하는 데 유용한 Route
라벨입니다.
열거형 | |
---|---|
ROUTE_LABEL_UNSPECIFIED |
기본값 - 사용되지 않습니다. |
DEFAULT_ROUTE |
경로 계산에 대해 반환된 기본 '최적' 경로입니다. |
DEFAULT_ROUTE_ALTERNATE |
기본 '최적' 경로 대안 이러한 경로는 ComputeRoutesRequest.compute_alternative_routes 가 지정되면 반환됩니다. |
FUEL_EFFICIENT |
연비 최적 경로 이 값으로 라벨이 지정된 경로는 연료 소비와 같은 절전 매개변수에 최적화되어 있습니다. |
루트레그
via
이 아닌 경유지 사이의 세그먼트를 캡슐화합니다.
JSON 표현 |
---|
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object ( |
필드 | |
---|---|
distanceMeters |
경로 구간의 이동 거리(미터 단위)입니다. |
duration |
구간을 탐색하는 데 필요한 시간입니다. 초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 ' |
staticDuration |
구간을 이동하는 데 소요된 시간으로 교통 상황을 고려하지 않고 계산됩니다. 초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 ' |
polyline |
이 구간의 전체 다중선입니다. 여기에는 각 |
startLocation |
이 구간의 시작 위치입니다. 제공된 |
endLocation |
이 구간의 종료 위치입니다. 제공된 |
steps[] |
이 구간 내의 세그먼트를 나타내는 단계의 배열입니다. 각 단계는 하나의 탐색 명령을 나타냅니다. |
travelAdvisory |
사용자에게 알려야 하는 추가 정보(예: 가능한 구간 교통 제한 등)를 캡슐화합니다. |
폴리라인
인코딩된 다중선을 캡슐화합니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 polyline_type 는 다중선 유형을 캡슐화합니다. 기본값은 encoded_adspolicy입니다. polyline_type 은 다음 중 하나여야 합니다. |
|
encodedPolyline |
다중선 인코딩 알고리즘을 사용한 다중선의 문자열 인코딩 |
geoJsonLinestring |
GeoJSON LineString 형식을 사용하여 다중선을 지정합니다. |
경로 구간
RouteLeg
의 세그먼트를 캡슐화합니다. 단계는 단일 탐색 명령에 해당합니다. 경로 구간은 계단으로 구성됩니다.
JSON 표현 |
---|
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object ( |
필드 | |
---|---|
distanceMeters |
이 단계의 이동 거리(미터)입니다. 경우에 따라 이 입력란에 값이 없을 수 있습니다. |
staticDuration |
교통상황을 고려하지 않고 이 단계를 이동하는 데 소요되는 시간입니다. 경우에 따라 이 입력란에 값이 없을 수 있습니다. 초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 ' |
polyline |
이 단계와 연결된 다중선입니다. |
startLocation |
이 단계의 시작 위치입니다. |
endLocation |
이 단계의 종료 위치입니다. |
navigationInstruction |
내비게이션 안내 |
travelAdvisory |
사용자에게 알려야 하는 추가 정보(예: 구간 내 예상되는 교통 구역 제한)를 캡슐화합니다. |
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 |
로터리에서 우회전하세요. |
경로 구간 이동 여행 주의보
사용자에게 알려야 하는 추가 정보(예: 구간 내 예상되는 교통 구역 제한)를 캡슐화합니다.
JSON 표현 |
---|
{
"speedReadingIntervals": [
{
object ( |
필드 | |
---|---|
speedReadingIntervals[] |
참고: 이 필드는 현재 채워져 있지 않습니다. |
경로 구간 여행 권고
사용자에게 알려야 하는 추가 정보(예: 가능한 구간 교통 제한 등)를 캡슐화합니다.
JSON 표현 |
---|
{ "tollInfo": { object ( |
필드 | |
---|---|
tollInfo |
특정 RouteLeg의 통행료 정보를 캡슐화합니다. 이 필드는 RouteLeg의 통행료가 있을 것으로 예상되는 경우에만 채워집니다. 이 필드는 설정되어 있지만estimatedPrice 하위 필드가 채워지지 않은 경우 도로에 통행료가 포함되어야 하지만 예상 가격은 알 수 없습니다. 이 필드가 없으면 RouteLeg에 유료 도로가 없습니다. |
speedReadingIntervals[] |
트래픽 밀도를 자세히 알아보는 속도 읽기 간격입니다. 예:
|
표시 영역
위도 및 경도 표시 영역. 대각선으로 반대인 low
및 high
지점 두 개로 표현됨 표시 영역은 경계가 포함된 닫힌 영역으로 간주됩니다. 위도 경계의 범위는 -90도 이상 90도 이하여야 하며, 경도 경계의 범위는 -180도 이상 180도 이하여야 합니다. 다양한 경우는 다음과 같습니다.
low
=high
이면 표시 영역이 해당 단일 점으로 구성됩니다.low.longitude
>high.longitude
이면 경도 범위가 반전됩니다 (표시 영역은 경도 180도 표시).low.longitude
= -180도,high.longitude
= 180도인 경우 표시 영역에 모든 경도가 포함됩니다.low.longitude
= 180도 및high.longitude
- -180도인 경우 경도 범위가 비어 있습니다.low.latitude
>high.latitude
이면 위도 범위가 비어 있습니다.
low
과 high
는 모두 채워야 하며 표시된 상자는 위 정의에 명시된 대로 비워 둘 수 없습니다. 표시 영역이 비어 있으면 오류가 발생합니다.
예를 들어 이 표시 영역은 뉴욕시를 완전히 둘러쌉니다.
{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }
JSON 표현 |
---|
{ "low": { object ( |
필드 | |
---|---|
low |
필수 항목입니다. 표시 영역의 낮은 지점입니다. |
high |
필수 항목입니다. 표시 영역의 최고점입니다. |
지오코딩 결과
출발지, 목적지 및 중간 경유지의 GeocodedWaypoints를 포함합니다. 주소 경유지에만 채워집니다.
JSON 표현 |
---|
{ "origin": { object ( |
필드 | |
---|---|
origin |
출발지 지오코딩된 경유지. |
destination |
목적지의 지오코딩된 경유지입니다. |
intermediates[] |
요청에서 지정한 순서대로 경유지의 0 기반 위치에 해당하는 색인 필드를 포함하는 중간 지오코딩된 경유지 목록입니다. |
위치정보 코딩된 Waypoint
경유지로 사용되는 위치에 대한 세부정보입니다. 주소 경유지에만 채워집니다. 주소를 지오코딩한 주소를 확인하기 위한 지오코딩 결과에 대한 세부정보를 포함합니다.
JSON 표현 |
---|
{
"geocoderStatus": {
object ( |
필드 | |
---|---|
geocoderStatus |
지오코딩 작업의 결과인 상태 코드를 나타냅니다. |
type[] |
0개 이상의 유형 태그 형식으로 된 결과의 유형입니다. 지원되는 유형: https://developers.google.com/maps/documentation/Geocoding/requests-Geocoding#Types |
partialMatch |
지오코더가 원래 요청한 주소와 정확하게 일치하지 않지만 요청된 주소의 일부분만 일치함을 나타냅니다. 원래 요청을 검사하여 맞춤법 오류 및/또는 불완전한 주소를 찾아낼 수 있습니다. |
placeId |
이 검색결과의 장소 ID입니다. |
intermediateWaypointRequestIndex |
요청에 있는 중간 경유지의 색인입니다. 해당 경유지가 중간 경유지인 경우에만 채워집니다. |