구글 지도 Routes API로 톨 요금 계산하기: Calculate Toll Fees

내비게이션 경로를 제공할 때, 톨게이트 요금을 함께 안내하면 사용자에게 더 풍부한 정보를 제공할 수 있습니다. Google 지도 Routes API의 Calculate Toll Fees 기능을 사용하면, 경로상의 예상 톨 요금을 자동으로 계산해 통화 단위로 반환받을 수 있습니다. 이 글에서는 기능 개요부터 요청·응답 예시를 살펴보겠습니다.

 

1. 톨 요금 계산 개요

Routes API는 운전자나 차량이 가진 톨 패스(Toll Pass)와 연료 종류(Vehicle Emission Type), 가장 편리한 결제 수단을 고려해 예상 톨 요금을 계산합니다. 해당 경로에 톨 요금 정보가 없는 구간이 있으면, “요금 미확인” 상태로 표시됩니다. 

2. 전제 조건

  • travelModeDRIVE 또는 TWO_WHEELER로 설정해야 합니다.
  • vehicleInfo.emissionTypeGASOLINE, DIESEL, HYBRID, ELECTRIC 중 하나를 지정해야 합니다.
  • tollPasses 배열에 보유 중인 톨 패스를 지정할 수 있습니다 (예: "US_WA_GOOD_TO_GO"). 지정하지 않으면 현금 요금이 반환됩니다.
  • 필요 시 routeModifiers.avoidTollstrue로 설정해 톨도로 회피 경로를 요청할 수 있습니다.
  • 톨 요금 계산 요청은 표준 요청보다 높은 요율로 청구됩니다.

3. 요청 구성 방법

Compute Routes 호출 본문에 다음과 같은 요소를 추가합니다.

  • extraComputations: ["TOLLS"]를 포함해 톨 요금 계산 기능을 활성화
  • routeModifiers.vehicleInfo.emissionType: 차량 연료 타입 지정
  • routeModifiers.tollPasses: 보유한 톨 패스 배열 지정 (선택 사항)
  • routeModifiers.avoidTolls: 톨도로 회피 여부 지정 (선택 사항)

4. 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.distanceMeters,routes.duration,routes.travelAdvisory.tollInfo' \
  --data-raw '{
    "origin": {
      "location": { "latLng": { "latitude": 47.6062, "longitude": -122.3321 } }
    },
    "destination": {
      "location": { "latLng": { "latitude": 47.6205, "longitude": -122.3493 } }
    },
    "travelMode": "DRIVE",
    "extraComputations": ["TOLLS"],
    "routeModifiers": {
      "vehicleInfo": {
        "emissionType": "GASOLINE"
      },
      "tollPasses": ["US_WA_GOOD_TO_GO"],
      "avoidTolls": false
    }
  }'

5. 응답 예시

{
  "routes": [
    {
      "distanceMeters": 15000,
      "duration": "900s",
      "travelAdvisory": {
        "tollInfo": {
          "currency": "USD",
          "estimatedPrice": "3.75"
        }
      }
    }
  ]
}

6. 주의사항 및 팁

  • 지원되는 지역은 제한적이므로, 톨 요금이 계산되지 않는 경우 “estimatedPrice”가 누락될 수 있습니다.
  • 여러 톨 패스를 지정하면, API는 가장 저렴한 요금을 반환합니다.
  • 톨 회피 경로를 원할 경우 avoidTolls: true 옵션을 활용하세요.

Calculate Toll Fees 기능을 활용하면, 경로 안내 시 예상 톨 요금을 함께 제공해 사용자 편의성과 신뢰성을 높일 수 있습니다.