요청할 때 가장 정확한 결과를 반환하는 것이 더 빠른지, 가능한 한 빨리 결과를 반환하는 것이 더 나은지 결정해야 할 수 있습니다. Routes API는 응답 데이터의 품질과 응답 지연 시간을 제어할 수 있는 옵션을 제공합니다.
트래픽 데이터 수준 구성
Routes API는 경로 계산을 위한 라우팅 환경설정을 지정할 수 있는 RoutePreference (REST)와 RoutingPreference(gRPC)를 제공합니다. 이러한 환경설정은 트래픽 계산 시 경로 조건을 고려하는 정도가 다릅니다. 각 라우팅 환경설정은 경로 품질, 예상 ETA, 응답 지연 시간 측면에서 어느 정도 다른 결과를 생성합니다.
트래픽 조건은 트래픽 흐름의 비율을 나타냅니다. 예를 들면 다음과 같습니다.
- 정체가 없으면 교통 상황이 정상으로 간주되고 트래픽이 방해되지 않는 일반 속도로 흐릅니다.
- 피크타임이 가까워지면 트래픽 밀도가 높아져 트래픽이 느려지고, 교통상황이 밝거나 중간에서 느려집니다.
- 범퍼-범퍼 광고 트래픽에서는 유속이 멈춰서 교통 정체가 심해지게 됩니다.
알 수 없는 트래픽
TRAFFIC_UNAWARE
라우팅 환경설정을 설정하면 현재 교통상황을 고려하지 않고 경로가 계산됩니다. 이 라우팅 환경설정은 응답 지연 시간이 가장 짧습니다 (응답이 가장 빠르게 반환됨).
TRAFFIC_UNAWARE
가 기본 설정입니다.
응답에서
ETA는
duration
응답 속성에 포함되어 있습니다.duration
및staticDuration
응답 속성에는 동일한 값이 포함됩니다.
가장 빠른 응답을 반환하고 대략적인 경로 세부정보를 충분히 확보하려는 경우 이 라우팅 환경설정을 사용합니다.
트래픽 인식
TRAFFIC_AWARE
라우팅 환경설정을 설정하면 경로가 현재 교통상황을 고려하여 계산됩니다. 따라서 경로 및 경로 세부정보가 실제 조건을 더 정확하게 반영합니다. 이렇게 하면 데이터 품질이 증가하면 응답 지연 시간이 줄어들기 때문에 지연 시간 대부분을 줄이기 위해 성능 최적화가 적용됩니다.
응답에서
실시간 트래픽을 고려한 ETA는
duration
응답 속성에 포함되어 있습니다.staticDuration
응답 속성에는 교통상황을 고려하지 않고 경로를 이동하는 시간이 포함됩니다.
TRAFFIC_UNAWARE
보다 더 정확한 라우팅 세부정보를 원하지만 응답이 지연 시간을 어느 정도 늘리면 반환되는 것은 상관없습니다.
트래픽 인식 최적화
TRAFFIC_AWARE_OPTIMAL
라우팅 환경설정을 설정하면 현재 트래픽 조건을 고려하여 경로가 계산되지만 성능 최적화가 적용되지 않습니다. 이 모드에서는 서버가 도로 네트워크를 더욱 철저하게 검색하여 최적의 경로를 찾습니다.
TRAFFIC_AWARE_OPTIMAL
라우팅 환경설정은 maps.google.com 및 Google 지도 모바일 앱에서 사용하는 모드와 동일합니다.
Compute 경로 매트릭스에서 이 옵션을 사용하는 경우 요청의 요소 수 (출발지 수 x 목적지 수)는 100개를 초과할 수 없습니다. Compute 경로 매트릭스 한도에 대한 자세한 내용은 경로 매트릭스 컴퓨팅을 참조하세요.
응답에서
실시간 트래픽을 고려한 ETA는
duration
응답 속성에 포함되어 있습니다.staticDuration
응답 속성에는 교통상황을 고려하지 않고 경로를 이동하는 시간이 포함됩니다.
이 라우팅 환경설정은 가장 긴 응답 지연 시간을 제공합니다. 즉, 응답이 가장 긴 지연 시간으로 반환됩니다. 응답 소요 시간에 관계없이 최고 품질의 결과를 원하는 경우 이 라우팅 환경설정을 사용하세요.
출발 시간 설정 효과
원하는 경우 출발 시간을 원하는 시간으로 설정하려면 departureTime
속성을 사용합니다. departureTime
속성을 설정하지 않으면 기본값은 요청한 시간으로 지정됩니다.
TRAFFIC_UNAWARE
의 경우departureTime
을 설정할 수 없습니다. 경로와 네트워크 선택은 도로망과 평균 시간과 무관한 교통상황을 기반으로 하기 때문입니다.실시간 교통상황을 고려하는
TRAFFIC_AWARE
및TRAFFIC_AWARE_OPTIMAL
의 경우departureTime
가 현재에 더 가까울수록 실시간 트래픽이 더 중요해집니다. 출발 시간을 미래로 설정할수록 과거 교통상황을 더 많이 고려하게 됩니다.
라우팅 환경설정 설정의 예
다음 JSON 코드는 요청 메시지 항목 본문에 라우팅 환경설정을 설정하는 방법을 보여줍니다.
{ "origin":{ "location":{ "latLng":{ "latitude":37.419734, "longitude":-122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude":37.417670, "longitude":-122.079595 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL" }
다중선 품질 구성
Routes API를 사용하면 교통상황 인식 다중선과 함께 교통상황 정보를 요청할 수 있습니다. 자세한 내용은 다중선 요청을 참고하세요.
다중선의 품질은 다음 용어로 설명할 수 있습니다.
다중선을 구성하는 점의 수
점의 수가 많을수록, 다중선 (특히 곡선)이 더 매끄러워집니다.
점의 부동 소수점 정밀도
점은 위도 및 경도 값으로 지정되며, 단정밀도 부동 소수점 형식으로 표시됩니다. 이는 정확히 나타낼 수 있는 작은 값에는 적합하지만 부동 소수점 반올림 오류로 인해 값이 커짐에 따라 정밀도는 낮아집니다.
computeRoutes 메서드 (REST)와 ComputeRoutes 메서드 (gRPC)는 다중선 품질을 제어하는 polylineQuality
요청 옵션을 지원합니다.
다중선 품질 설정 예
polylineQuality
은 다중선의 품질을 HIGH_QUALITY
또는 OVERVIEW
(기본값)로 지정합니다. OVERVIEW
를 사용하면 다중선이 소수의 점을 사용하여 구성되며 HIGH_QUALITY
보다 요청 지연 시간이 짧아집니다.
예를 들어 요청 본문에서 다음을 수행합니다.
{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE", "polylineQuality": "HIGH_QUALITY", "polylineEncoding": "ENCODED_POLYLINE", "departureTime": "2023-10-15T15:01:23.045123456Z", ... }