ใช้ Routes API เพื่อคํานวณระยะทางและระยะเวลาของเส้นทางสําหรับต้นทางและปลายทางหลายแห่งโดยการเรียกใช้เมธอด computeRouteMatrix (REST) หรือเมธอดสตรีมมิง ComputeRouteMatrix (gRPC)
เมื่อทราบรายการต้นทางและปลายทางแล้ว วิธีการนี้จะคํานวณระยะทางและระยะเวลาของเส้นทางที่เริ่มต้นจากต้นทางแต่ละแห่งและสิ้นสุดที่ปลายทางแต่ละแห่ง
รับเมทริกซ์เส้นทางขนส่งสาธารณะ
นอกจากนี้ คุณยังคำนวณเมทริกซ์เส้นทางในระบบขนส่งสาธารณะได้ด้วย โปรดดูตัวอย่างที่หัวข้อดูเมทริกซ์เส้นทางในขนส่งสาธารณะ
ขีดจำกัดของคำขอ
เมธอด Compute Route Matrix จะบังคับใช้ขีดจํากัดคําขอต่อไปนี้สําหรับจุดแวะพักโดยใช้ที่อยู่หรือรหัสสถานที่ และสำหรับองค์ประกอบ องค์ประกอบคือเส้นทางระหว่างต้นทางและปลายทางแต่ละแห่งในเมทริกซ์เส้นทาง ดังนั้นจํานวนองค์ประกอบคือจํานวนต้นทางคูณจํานวนปลายทาง ตัวอย่างเช่น หากคุณมีต้นทาง 10 แห่งและปลายทาง 10 แห่ง คุณจะมีองค์ประกอบ 100 รายการ ดังนี้
จำนวนองค์ประกอบต้องไม่เกิน 625 สำหรับเส้นทางที่ไม่ใช่เส้นทาง
TRANSIT
หากระบุ
TRANSIT
เส้นทาง จำนวนองค์ประกอบต้องไม่เกิน 100หากระบุ
TRAFFIC_AWARE_OPTIMAL
จำนวนองค์ประกอบต้องไม่เกิน 100 ดูข้อมูลเพิ่มเติมเกี่ยวกับTRAFFIC_AWARE_OPTIMAL
ได้ที่หัวข้อระบุวิธีและระบุหรือไม่ว่าจะรวมข้อมูลการเข้าชมหากระบุต้นทางหรือปลายทางโดยใช้ที่อยู่หรือรหัสสถานที่ คุณจะระบุได้สูงสุด 50 แห่ง
ข้อผิดพลาดในการตอบกลับ
ฟีเจอร์หนึ่งของเมธอด Compute Route Matrix คือระบบอาจแสดงข้อผิดพลาดสําหรับคำตอบทั้งหมดหรือองค์ประกอบคำตอบแต่ละรายการ ตัวอย่างเช่น การตอบกลับทั้งหมดจะมีข้อผิดพลาดหากคําขอมีรูปแบบไม่ถูกต้อง (เช่น มีต้นทางเป็น 0)
อย่างไรก็ตาม หากข้อผิดพลาดมีผลกับองค์ประกอบชุดย่อยในการตอบกลับ (เช่น คำนวณเส้นทางสำหรับชุดค่าผสมของต้นทางและปลายทางหนึ่งๆ ไม่ได้) เฉพาะองค์ประกอบที่ได้รับผลกระทบจากข้อผิดพลาดเท่านั้นที่จะแสดงรหัสข้อผิดพลาด
ผลการค้นหาสตรีม gRPC
เมธอด gRPC ของ ComputeRouteMatrix จะรับรายการต้นทางและปลายทาง แล้วแสดงผลสตรีมที่มีข้อมูลเส้นทางสําหรับชุดค่าผสมของต้นทางและปลายทางแต่ละชุด เนื่องจากระบบจะแสดงผลลัพธ์เป็นสตรีม คุณจึงไม่ต้องรอจนกว่าระบบจะคำนวณเส้นทางที่เป็นไปได้ทั้งหมดก่อนจึงจะเริ่มประมวลผลผลลัพธ์ได้
ระบบไม่รับประกันว่าองค์ประกอบที่แสดงผลโดยสตรีมจะแสดงผลตามลําดับใดๆ ดังนั้น เอลิเมนต์คำตอบแต่ละรายการจึงมี origin_index
และ destination_index
สําหรับต้นทางและปลายทางที่ระบุโดยคําขอ ต้นทางของเส้นทางจะเท่ากับ origins[origin_index]
สําหรับองค์ประกอบหนึ่งๆ และปลายทางของเส้นทางจะเท่ากับ destinations[destination_index]
อาร์เรย์เหล่านี้เป็นแบบ Zero-indexed คุณควรจัดเก็บลําดับรายการต้นทางและปลายทาง
ตัวอย่างการประมวลผลเมทริกซ์เส้นทาง
ใช้เมธอด computeRouteMatrix ในคําขอ HTTP เพื่อคํานวณเมทริกซ์เส้นทาง
ตัวอย่าง HTTP
ตัวอย่างต่อไปนี้แสดงคําขอ computeRouteMatrix
HTTP ในตัวอย่างนี้
คุณ
ระบุอาร์เรย์ของจุดแวะพักต้นทาง 2 จุดและจุดแวะพักปลายทาง 2 จุด วิธีการจะคำนวณเส้นทางจากต้นทางแต่ละแห่งไปยังปลายทางแต่ละแห่งเพื่อให้การตอบกลับมี 4 เส้นทาง
ในอาร์เรย์ องค์ประกอบแรกจะมีดัชนี 0 องค์ประกอบที่ 2 จะมีดัชนี 1 และต่อไปเรื่อยๆ
ใส่มาสก์ฟิลด์คำตอบเพื่อระบุฟิลด์ของคำตอบ (REST) หรือ ComputeRoutesResponse (gRPC) ที่จะแสดง ในตัวอย่างนี้ ให้กําหนดค่าคําขอให้แสดง
originIndex
,destinationIndex
,duration
,distanceMeters
,status
และcondition
สําหรับแต่ละเส้นทาง ดูข้อมูลเพิ่มเติมได้ที่เลือกช่องที่จะแสดง
curl -X POST -d '{ "origins": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420761, "longitude": -122.081356 } } }, "routeModifiers": { "avoid_ferries": true} }, { "waypoint": { "location": { "latLng": { "latitude": 37.403184, "longitude": -122.097371 } } }, "routeModifiers": { "avoid_ferries": true} } ], "destinations": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420999, "longitude": -122.086894 } } } }, { "waypoint": { "location": { "latLng": { "latitude": 37.383047, "longitude": -122.044651 } } } } ], "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \ 'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'
การตอบกลับจะมีเส้นทางที่เป็นไปได้ 4 เส้นทางสำหรับการรวมจุดแวะพักต้นทางและปลายทางทั้งหมด
ระบุเส้นทางแต่ละรายการในการตอบกลับโดยใช้ช่องคำตอบ originIndex
และ destinationIndex
ตัวอย่างเช่น originIndex
เท่ากับ 1 ในการตอบกลับจะสอดคล้องกับเส้นทางที่คำนวณจากจุดสังเกตที่ดัชนี 1 ของอาร์เรย์ origins
ในคำขอ
[ { "originIndex": 0, "destinationIndex": 0, "status": {}, "distanceMeters": 822, "duration": "160s", "condition": "ROUTE_EXISTS" }, { "originIndex": 1, "destinationIndex": 0, "status": {}, "distanceMeters": 2919, "duration": "361s", "condition": "ROUTE_EXISTS" }, { "originIndex": 1, "destinationIndex": 1, "status": {}, "distanceMeters": 5598, "duration": "402s", "condition": "ROUTE_EXISTS" }, { "originIndex": 0, "destinationIndex": 1, "status": {}, "distanceMeters": 7259, "duration": "712s", "condition": "ROUTE_EXISTS" } ]
ตัวอย่าง gRPC
เช่น คำขอ gRPC โปรดดูตัวอย่างในตัวอย่างคำขอ gRPC ตัวอย่าง Java ในหน้าดังกล่าวจะเรียกใช้ทั้ง Compute Routes และ Compute Route Matrix