구글 지도 Routes API 최적화 트레이드오프 설정: Routing Preference

Routes API로 경로를 계산할 때, 실시간 교통 정보를 반영해 가장 정확한 결과를 얻을지, 아니면 응답 속도를 우선해 신속히 결과를 받아올지 선택할 수 있습니다. 이때 사용하는 것이 바로 Routing Preference입니다. 이 가이드에서는 응답 품질(accuracy)과 레이턴시(latency)의 균형을 조절하는 세 가지 옵션을 단계별로 살펴보겠습니다.

 

1. Routing Preference 개요

Routing Preference는 API가 교통 데이터를 얼마나 반영해 경로를 계산할지 결정합니다. 기본값은 TRAFFIC_UNAWARE로, 교통 정보를 고려하지 않고 가장 빠른 응답을 제공합니다. 반대로 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL은 실시간 교통 정보를 반영해 각각 적절한 품질과 최고 품질의 경로를 계산합니다.

2. 지원되는 옵션

  • TRAFFIC_UNAWARE: 교통 정보를 무시하고 응답 속도를 최적화
  • TRAFFIC_AWARE: 실시간 교통 정보를 반영하되, 일부 성능 최적화 적용
  • TRAFFIC_AWARE_OPTIMAL: 실시간 교통 정보를 최대한 반영하되, 성능 최적화 미적용

3. 옵션별 상세 설명

3-1. TRAFFIC_UNAWARE

TRAFFIC_UNAWARE는 기본 설정이며, 요청 지연(latency)을 최소화하면서 평균적인 교통 상황을 기반으로 경로를 계산합니다. * duration: 평균 교통 속도를 반영한 ETA * staticDuration: 과거 교통 데이터만 반영한 ETA (동일 값)

3-2. TRAFFIC_AWARE

TRAFFIC_AWARE는 실시간 교통 정보를 반영해 보다 정확한 ETA를 제공합니다. * duration: 실시간 교통 정보 반영 ETA * staticDuration: 과거 교통 데이터 기반 ETA * 응답 품질이 높아지지만, TRAFFIC_UNAWARE 대비 약간의 지연이 발생합니다.

3-3. TRAFFIC_AWARE_OPTIMAL

TRAFFIC_AWARE_OPTIMAL은 실시간 교통 정보를 최대한 반영하며 성능 최적화는 적용하지 않습니다. * Google Maps 웹·모바일 앱과 동일한 수준의 최적 경로를 계산 * 가장 긴 지연을 감수하고도 최고 품질의 경로가 필요할 때 사용합니다.

4. 출발 시간 설정 (departureTime)

교통 정보를 반영하는 옵션(TRAFFIC_AWARE, TRAFFIC_AWARE_OPTIMAL)을 사용할 때, 미래 출발 시간을 지정하려면 departureTime을 설정할 수 있습니다. * 지정하지 않으면 요청 시점의 시간으로 자동 설정 * 시간이 멀어질수록 과거 교통 데이터(staticDuration) 비중이 높아집니다.

 

5. curl 요청 예시

curl -X POST 'https://routes.googleapis.com/directions/v2:computeRoutes' \
  -H 'Content-Type: application/json' \
  -H 'X-Goog-Api-Key: YOUR_API_KEY' \
  -H 'X-Goog-FieldMask: routes.duration,routes.staticDuration' \
  --data-raw '{
    "origin": {
      "location": { "latLng": { "latitude": 37.7749, "longitude": -122.4194 } }
    },
    "destination": {
      "location": { "latLng": { "latitude": 37.7848, "longitude": -122.4090 } }
    },
    "travelMode": "DRIVE",
    "routingPreference": "TRAFFIC_AWARE_OPTIMAL",
    "departureTime": "2025-05-25T08:00:00Z"
  }'

6. 주의사항 및 요금

  • TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 사용 시 더 높은 요금이 청구됩니다. :contentReference[oaicite:6]{index=6}
  • 지연(latency)을 감수할 만큼 경로 품질이 중요한 시나리오에만 설정하세요.

Routing Preference 옵션을 적절히 선택하면, 사용자 환경에 맞게 응답 속도와 경로 정확도 간 균형을 맞출 수 있습니다. 빠른 응답이 필요할 땐 TRAFFIC_UNAWARE, 실제 교통 상황을 반영해 정확도가 중요하다면 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL을 사용하세요.