선택한 트래픽 환경설정에 따라 경로 세부정보의 정확성과 요청 성능이 균형을 이릅니다. 요청을 할 때 가능한 한 가장 정확한 결과를 반환하는 것이 좋은지 또는 가능한 한 빨리 결과를 반환하는 것이 좋은지 여부를 검토해야 합니다. Routes API는 응답 데이터의 품질과 응답 지연 시간을 제어할 수 있는 옵션을 제공합니다.
트래픽 데이터 수준 설정
Routes API는 경로 계산을 위한 라우팅 환경설정을 지정할 수 있는 RoutingPreference (REST)와 RoutingPreference(gRPC)를 제공합니다. 이러한 환경설정은 경로 계산에 교통상황을 고려하는 정도에서 다릅니다. 각 라우팅 환경설정은 경로 품질, 예상 도착예정시간, 응답 지연 시간과 관련하여 어느 정도 다른 결과를 생성합니다.
교통 상황은 교통 흐름의 속도를 특성화합니다. 예를 들면 다음과 같습니다.
- 정체가 없으면 교통상황이 정상으로 간주되며 교통은 제한 없는 규칙적인 속도로 흐릅니다.
- 러시아워가 다가오면 교통 밀도가 높아져 교통량이 많아져 교통량이 적어지고 교통상황이 보통 정도일 수 있습니다.
- 범퍼에서 범퍼로 이동하는 교통량에서는 유속이 멈춰서 많은 교통상황이 발생합니다.
트래픽을 인식하지 못함
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 Route Matrix와 함께 이 옵션을 사용하는 경우 요청의 요소 수 (출발지 수 × 목적지 수)가 100개를 초과할 수 없습니다. 컴퓨팅 경로 행렬 한도에 대한 자세한 내용은 경로 행렬 계산을 참조하세요.
응답에서 각 항목의 의미는 다음과 같습니다.
실시간 트래픽을 고려하는 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", ... }