구글 지도 Compute Route Matrix 톨 요금 계산하기: Calculate Toll Fees for Route Matrix

여러 출발지(origins)와 여러 도착지(destinations) 간의 거리·소요 시간을 한 번에 계산해 주는 Compute Route Matrix 메서드에서, 톨게이트 요금까지 함께 계산해 제공할 수 있습니다. 이 기능을 사용하면, 복수의 경로에 대한 비용 정보를 일괄적으로 확인할 수 있어 라우팅 비용 예측과 서비스 요금 산정에 유용합니다.

 

1. 톨 요금 계산 개요

  • `extraComputations` 배열에 `"TOLLS"`를 포함해 톨 요금 계산 기능을 활성화합니다.
  • 각 출발지(origin) Waypoint의 `routeModifiers`에서 차량 타입(`vehicleInfo.emissionType`)과 보유한 톨 패스(`tollPasses`)를 지정할 수 있습니다.
  • 반환된 `tollInfo.estimatedPrice` 배열에는 지정된 통화로 예상 톨 요금이 포함됩니다.
  • 지원 지역 및 패스 목록은 TollPass 참조를 확인하세요.
  • 톨 요금 계산 요청은 표준 매트릭스 요청보다 높은 요율이 적용됩니다.

2. 전제 조건

  • travelMode을 반드시 "DRIVE"로 지정해야 합니다.
  • 요청 당 originsdestinations 배열이 최소 1개 이상이어야 합니다.
  • elements 수(출발지×도착지 조합)가 최대 625개 를 초과하지 않아야 합니다.
  • 필드 마스크(Header 또는 URL 파라미터)로 반환할 필드를 반드시 지정해야 합니다.

3. 요청 구성 방법

다음 요소를 요청 본문에 포함하세요

  • extraComputations: ["TOLLS"]
  • origins 요소 내 routeModifiers:
    • vehicleInfo.emissionType: GASOLINE, DIESEL, HYBRID, ELECTRIC 중 선택
    • tollPasses: 보유 중인 톨 패스 식별자 배열 (예: "US_MA_EZPASSMA")
  • 헤더 X-Goog-FieldMask 또는 URL ?fields=로 반환할 필드 지정: originIndex,destinationIndex,distanceMeters,duration,status,travelAdvisory.tollInfo

4. curl 요청 예시

curl -X POST 'https://routes.googleapis.com/v2:computeRouteMatrix' \
  -H 'Content-Type: application/json' \
  -H 'X-Goog-Api-Key: YOUR_API_KEY' \
  -H 'X-Goog-FieldMask: originIndex,destinationIndex,distanceMeters,duration,status,travelAdvisory.tollInfo' \
  --data-raw '{
    "origins": [
      {
        "waypoint": {
          "location": {
            "latLng": {
              "latitude": 42.340173523716736,
              "longitude": -71.05997968330408
            }
          }
        },
        "routeModifiers": {
          "vehicleInfo": {
            "emissionType": "GASOLINE"
          },
          "tollPasses": [
            "US_MA_EZPASSMA",
            "US_WA_GOOD_TO_GO"
          ]
        }
      }
    ],
    "destinations": [
      {
        "waypoint": {
          "location": {
            "latLng": {
              "latitude": 42.075698891472804,
              "longitude": -72.59806562080408
            }
          }
        }
      }
    ],
    "travelMode": "DRIVE",
    "extraComputations": ["TOLLS"]
  }'

5. 응답 예시

[
  {
    "originIndex": 0,
    "destinationIndex": 0,
    "status": "OK",
    "distanceMeters": 150338,
    "duration": "5382s",
    "travelAdvisory": {
      "tollInfo": {
        "estimatedPrice": [
          {
            "currencyCode": "USD",
            "units": "4",
            "nanos": 400000000
          }
        ]
      }
    }
  }
]

6. 주의사항 및 팁

  • Route Matrix는 경로의 다리, 단계, 폴리라인 등 상세 정보를 반환하지 않습니다. 상세한 경로가 필요할 경우 Compute Routes를 단일 origin·destination으로 호출하세요.
  • 복수의 톨 패스를 지정하면, API는 가장 저렴한 예상 요금을 반환합니다.
  • 톨 요금 정보가 지원되지 않는 지역에서는 응답에 `tollInfo` 필드가 누락될 수 있습니다.


Compute Route Matrix에 톨 요금 계산 기능을 추가하면, 여러 경로에 대한 비용 정보를 일괄적으로 조회할 수 있어 서비스 요금 설계와 사용자 비용 안내에 유용합니다.