경로의 통행료 계산

경로 또는 경로 매트릭스를 계산할 때 경로의 통행료를 고려하는 것이 좋습니다. 일부 도시의 경우 경로의 예상 통행료(해당 통화)를 계산할 수 있습니다.

경로 매트릭스의 통행료를 확인하려면 경로 매트릭스의 통행료 계산을 참고하세요.

지원되는 통행료 위치 목록은 TollPass 참조를 참고하세요.

통행료 계산 방식

Routes API는 운전자 또는 차량에 제공되는 유료 도로 가격 할인 또는 패스와 가장 편리한 결제 수단을 고려하여 예상 통행료를 계산합니다. 특정 경로에 사용할 수 있는 통행료 가격이 없는 경우 Routes API는 알 수 없는 요금이 있는 통행료의 존재를 나타냅니다.

정확한 통행료 예상 금액을 확인하려면 요청에 다음 정보를 포함하세요.

  • 경로에 사용된 차량의 배출 유형(VehicleEmissionType). 배출 유형이 제공되지 않으면 휘발유 차량의 통행료가 반환됩니다.
  • 차량 및 운전자가 보유한 모든 통행료 패스(TollPass)를 사용합니다. API는 통행료 패스를 사용하여 정확한 통행료 요금을 결정하고 요청의 통행료 패스가 경로에 해당하지 않는 경우 현금 가격을 반환합니다.
  • 필요한 경우 유료도로 제외 지정 가능하면 유료 도로를 피하려면 avoidTollsRouteModifier로 추가합니다.

통행권을 사용하여 통행료 계산

통행권을 사용하여 통행료를 계산하려면 요청의 일부로 통행권을 지정합니다. 그러면 API는 패스 가격을 반환합니다.

  • 잘못된 통행권을 지정하면 통행권이 무시됩니다.

  • 여러 통행권을 배열로 지정하면 API는 각 통행권의 경로 가격을 계산하려고 시도합니다.

통행료 패스의 작동 방식은 지역에 따라 다를 수 있습니다.

  • 통행권을 사용하면 요금이 더 저렴할 수 있음: 일부 지역에서는 통행권이 있는 운전자 또는 차량이 통행권이 없는 운전자 또는 차량과 다른 통행료를 지불합니다. 예를 들어 미국 워싱턴주 시애틀에서 Good To Go! 통행료 패스가 있으면 패스가 없는 경우보다 통행료를 적게 지불합니다.

  • 일부 도로에서는 통행료 패스가 필요할 수 있음: 인도네시아와 같은 일부 지역에는 통행료 패스가 필요한 도로가 있습니다. 통행료 패스가 필요한 경로에 통행료 패스를 지정하지 않으면 API에서 통행료 가격을 반환하지 않습니다.

경로의 통행료 계산

다음 예에서는 computeRoutes 메서드를 사용하여 통행료 패스가 사용될 때 예상 가격과 함께 통행료 정보를 반환합니다. 이 예에서는 다음을 수행합니다.

  • 통행료 정보 계산을 사용 설정하려면 extraComputations 배열 필드를 TOLLS로 설정합니다.

  • 요청의 routeModifiers 필드를 사용하여 차량 유형과 통행료 패스 유형을 지정합니다. 반환된 통행료 가격은 지정된 차량 유형 및 패스에서 사용한 가격을 기준으로 합니다. 패스가 두 개 이상 지정되면 가장 저렴한 가격이 반환됩니다.

  • 응답 필드 마스크를 사용하여 응답에 통행료 정보를 반환하도록 메서드를 구성합니다. 이 예에서는 요청이 응답 필드 마스크에 다음 속성을 포함했습니다.

    • routes.travelAdvisory.tollInfo 필드: 전체 경로의 정보를 반환합니다.

    • routes.legs.travelAdvisory.tollInfo를 사용하여 각 구간의 정보를 반환합니다.

통행료 정보 요청

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude":42.340173523716736,
        "longitude":-71.05997968330408
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":42.075698891472804,
        "longitude": -72.59806562080408
      }
    }
  },
  "travelMode": "DRIVE",
  "extraComputations": ["TOLLS"],
  "routeModifiers":{
    "vehicleInfo":{
      "emissionType": "GASOLINE"
    },
    "tollPasses": [
      "US_MA_EZPASSMA",
      "US_WA_GOOD_TO_GO"
    ]
  }
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.travelAdvisory.tollInfo,routes.legs.travelAdvisory.tollInfo' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

통행료 정보가 포함된 응답

응답에는 TollInfo (REST) 또는 TollInfo (gRPC) 객체의 통행료에 관한 정보가 포함됩니다. 이 예에서는 전체 경로와 경로의 각 구간에 대한 통행료 정보를 반환합니다.

{
  "routes": [
    {
      "legs": [
        {
          "travelAdvisory": {
            "tollInfo": {
              "estimatedPrice": [
                {
                  "currencyCode": "USD",
                  "units": "4",
                  "nanos": 400000000
                }
              ]
            }
          }
        }
      ],
      "distanceMeters": 150338,
      "duration": "6650s",
      "travelAdvisory": {
        "tollInfo": {
          "estimatedPrice": [
            {
              "currencyCode": "USD",
              "units": "4",
              "nanos": 400000000
            }
          ]
        }
      }
    }
  ]
}