คํานวณค่าผ่านทางสําหรับเส้นทาง

เมื่อคุณคำนวณเส้นทางหรือเมทริกซ์เส้นทาง คุณอาจต้องพิจารณาค่าผ่านทางสำหรับเส้นทางนั้นๆ ด้วย สำหรับบางเมือง คุณสามารถคำนวณค่าธรรมเนียมผ่านทางโดยประมาณสำหรับเส้นทางในสกุลเงินที่เหมาะสม

หากต้องการดูค่าผ่านทางสำหรับตารางเส้นทาง โปรดดูหัวข้อคำนวณค่าธรรมเนียมผ่านทางสำหรับตารางเส้นทาง

ดูรายชื่อสถานที่เก็บเงินค่าผ่านทางที่รองรับได้ที่ข้อมูลอ้างอิงสำหรับ TollPass

วิธีคำนวณค่าผ่านทาง

Routes API จะคำนวณค่าธรรมเนียมทางพิเศษโดยประมาณ พิจารณาส่วนลดหรือตั๋วทางพิเศษที่มี ให้กับคนขับหรือรถยนต์ และวิธีการชำระเงินที่สะดวกที่สุด หากไม่มีราคาค่าผ่านทางสำหรับเส้นทางหนึ่งๆ Routes API จะระบุว่ามีทางผ่านที่มีค่าธรรมเนียมที่ไม่รู้จัก

โปรดระบุข้อมูลต่อไปนี้ในคำขอเพื่อให้ได้รับค่าประมาณค่าผ่านทางที่ถูกต้อง

  • ประเภทการปล่อยก๊าซของยานพาหนะที่ใช้สำหรับเส้นทาง (VehicleEmissionType). หากไม่ได้ระบุประเภทการปล่อยก๊าซ ค่าผ่านทางสำหรับยานพาหนะที่ใช้น้ำมันเบนซินคือ ส่งคืนแล้ว
  • ค่าผ่านทางทั้งหมดที่ยานพาหนะและคนขับต้องใช้ (TollPass). API ใช้ บัตรผ่านทางเพื่อชำระค่าธรรมเนียมทางพิเศษที่ถูกต้อง และส่งราคาเงินสด เวลาที่บัตรผ่านทางในคำขอไม่อยู่ในพื้นที่ของเส้นทาง
  • ระบุเลี่ยงค่าผ่านทาง หากจำเป็น หากต้องการหลีกเลี่ยงถนนที่ต้องเสียค่าผ่านทางเมื่อเป็นไปได้ ให้เพิ่ม avoidTolls เป็น RouteModifier

คำนวณค่าผ่านทางโดยใช้บัตรผ่านทาง

ในการคำนวณค่าผ่านทางโดยใช้บัตรผ่านทาง คุณจะต้องระบุบัตรผ่านทางให้เป็นส่วนหนึ่งของ คำขอ จากนั้น API จะแสดงราคาบัตร

  • หากคุณระบุบัตรผ่านทางที่ไม่ถูกต้อง ระบบจะไม่สนใจบัตร

  • หากระบุบัตรผ่านหลายใบเป็นอาร์เรย์ API จะพยายามคำนวณราคาสำหรับเส้นทางของบัตรแต่ละใบ

ลักษณะการทำงานของบัตรผ่านทางด่วนจะแตกต่างกันไปตามภูมิภาค

  • ราคาอาจถูกลงหากมีบัตรผ่านโทลล์: ในบางภูมิภาค ผู้ขับขี่หรือยานพาหนะที่มีบัตรผ่านโทลล์จะจ่ายค่าผ่านทางแตกต่างจากผู้ที่ไม่มีบัตร ตัวอย่างเช่น หากคุณมีบัตรผ่านGood To Go! ที่ใช้ชำระค่าผ่านทางในซีแอตเทิล รัฐวอชิงตัน สหรัฐอเมริกา คุณจะจ่ายค่าผ่านทางถูกกว่าหากไม่มีบัตร

  • ถนนบางสายอาจต้องใช้บัตรผ่านโทลเวย์: บางภูมิภาค เช่น อินโดนีเซีย มีถนนที่ต้องใช้บัตรผ่านโทลเวย์ หากคุณไม่ได้ระบุบัตรผ่านด่านสำหรับเส้นทางที่ต้องใช้บัตรผ่านด่าน API จะไม่แสดงราคาค่าผ่านทาง

คำนวณค่าผ่านทางสำหรับเส้นทาง

ตัวอย่างต่อไปนี้ใช้ computeRoutes เพื่อส่งคืนข้อมูลค่าผ่านทางโดยมีค่าประมาณ เมื่อใช้บัตรผ่านทาง ในตัวอย่างนี้ คุณจะ

  • ตั้งค่าฟิลด์อาร์เรย์ extraComputations เป็น TOLLS เพื่อเปิดใช้การคำนวณข้อมูลค่าผ่านทาง

  • ระบุประเภทยานพาหนะและประเภทบัตรผ่านทางโดยใช้ routeModifiers ของคำขอ ค่าผ่านทางที่ส่งคืนจะอิงตาม ราคาที่ประเภทยานพาหนะและบัตรผ่านที่ระบุใช้ หากระบุบัตรมากกว่า 1 รายการ ระบบจะแสดงราคาที่ถูกที่สุด

  • ใช้มาสก์ช่องคำตอบเพื่อกำหนดค่าเมธอดให้แสดงข้อมูลหมายเลขโทรในประเทศในการตอบกลับ ในตัวอย่างนี้ คําขอรวมพร็อพเพอร์ตี้ต่อไปนี้ไว้ในมาสก์ช่องการตอบกลับ

    • 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
            }
          ]
        }
      }
    }
  ]
}