เมื่อคำนวณเส้นทางหรือเมทริกซ์เส้นทาง คุณอาจต้องพิจารณาค่าผ่านทางในเส้นทาง สำหรับบางเมือง คุณสามารถคำนวณค่าผ่านทางโดยประมาณสำหรับเส้นทางในสกุลเงินที่เหมาะสมได้
หากต้องการดูค่าผ่านทางสำหรับเมทริกซ์เส้นทาง โปรดดู คำนวณค่าผ่านทางสำหรับเมทริกซ์เส้นทาง
หากต้องการดูรายการสถานที่ที่รองรับค่าผ่านทาง โปรดดูข้อมูลอ้างอิงสำหรับ TollPass
วิธีคำนวณค่าผ่านทาง
Routes API จะคำนวณค่าผ่านทางโดยประมาณ โดยพิจารณาส่วนลดค่าผ่านทางหรือบัตรผ่านทางที่ผู้ขับขี่หรือยานพาหนะมี และวิธีการชำระเงินที่สะดวกที่สุด หากไม่มีราคาค่าผ่านทางสำหรับเส้นทางที่ระบุ Routes API จะระบุว่ามีค่าผ่านทางแต่ไม่ทราบราคา
หากต้องการรับค่าผ่านทางโดยประมาณที่ถูกต้อง โปรดตรวจสอบว่าคุณได้ระบุข้อมูลต่อไปนี้ในคำขอ
- ประเภทการปล่อยก๊าซ ของยานพาหนะที่ใช้สำหรับเส้นทาง
(
VehicleEmissionType) หากไม่ได้ระบุประเภทการปล่อยก๊าซ ระบบจะแสดงค่าผ่านทางสำหรับยานพาหนะที่ใช้น้ำมันเบนซิน - บัตรผ่านทางทั้งหมดที่ยานพาหนะและผู้ขับขี่มี โดยใช้
(
TollPass) API จะใช้ บัตรผ่านทางเพื่อกำหนดค่าผ่านทางที่ถูกต้อง และแสดงราคาเงินสด เมื่อบัตรผ่านทางในคำขอไม่ได้อยู่ในเส้นทาง - ระบุการหลีกเลี่ยงค่าผ่านทาง หากจำเป็น หากต้องการหลีกเลี่ยงทางพิเศษเมื่อเป็นไปได้ ให้เพิ่ม
avoidTollsเป็นRouteModifier
คำนวณค่าผ่านทางโดยใช้บัตรผ่านทาง
หากต้องการคำนวณค่าผ่านทางโดยใช้บัตรผ่านทาง ให้ระบุบัตรผ่านทางเป็นส่วนหนึ่งของคำขอ จากนั้น API จะแสดงราคาบัตรผ่านทาง
หากคุณระบุบัตรผ่านทางที่ไม่ถูกต้อง ระบบจะข้ามบัตรผ่านทางนั้น
หากระบุบัตรผ่านทางหลายรายการเป็นอาร์เรย์ API จะพยายามคำนวณราคาสำหรับเส้นทางของบัตรผ่านทางแต่ละรายการ
DRIVE
ลักษณะการทำงานของบัตรผ่านทางอาจแตกต่างกันไปตามภูมิภาค
อัตราค่าผ่านทางอาจต่ำกว่าเมื่อใช้บัตรผ่านทาง: ในบางภูมิภาค ผู้ขับขี่หรือยานพาหนะ ที่มีบัตรผ่านทางจะจ่ายค่าผ่านทางแตกต่างจากผู้ที่ไม่มีบัตรผ่านทาง เช่น หากคุณมีบัตรผ่านทาง 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 } ] } } } ] }