เมื่อคำนวณเส้นทางหรือเมตริกเส้นทาง คุณอาจต้องพิจารณาค่าธรรมเนียมผ่านทางในเส้นทางด้วย สำหรับบางเมือง คุณสามารถคำนวณค่าธรรมเนียมผ่านทางโดยประมาณสำหรับเส้นทางในสกุลเงินที่เหมาะสม
หากต้องการดูค่าผ่านทางสำหรับตารางเส้นทาง โปรดดูหัวข้อคำนวณค่าธรรมเนียมผ่านทางสำหรับตารางเส้นทาง
ดูรายการสถานที่เก็บค่าผ่านทางที่รองรับในข้อมูลอ้างอิงของ 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 } ] } } } ] }