ใช้ 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 คือระบบจะแสดงข้อผิดพลาดสำหรับการตอบกลับทั้งหมดหรือสำหรับองค์ประกอบการตอบกลับแต่ละรายการ ตัวอย่างเช่น การตอบกลับทั้งหมดมีข้อผิดพลาดหากคำขอมีรูปแบบไม่ถูกต้อง (เช่น ไม่มีต้นทาง)
อย่างไรก็ตาม หากข้อผิดพลาดมีผลกับองค์ประกอบย่อยในการตอบสนอง (เช่น ระบบไม่สามารถคำนวณเส้นทางสำหรับชุดค่าผสมต้นทางและปลายทาง 1 ชุด) จะมีเพียงองค์ประกอบที่ได้รับผลกระทบจากข้อผิดพลาดที่จะแสดงผลรหัสข้อผิดพลาด
ผลการสตรีมของ gRPC
เมธอด gRPC ของ ComputeRouteMatrix จะแสดงรายการต้นทางและปลายทาง และแสดงผลสตรีมที่มีข้อมูลเส้นทางสำหรับชุดค่าผสมของต้นทางและปลายทางแต่ละรายการ เนื่องจากผลลัพธ์จะแสดงเป็นสตรีม คุณจึงไม่ต้องรอจนกว่าระบบจะคำนวณชุดค่าผสมของเส้นทางที่เป็นไปได้ทั้งหมดก่อนจึงจะสามารถเริ่มประมวลผลผลลัพธ์ได้
ทั้งนี้ เราไม่รับประกันว่าองค์ประกอบที่สตรีมส่งคืนจะส่งกลับไม่ว่าตามลำดับใดก็ตาม ดังนั้น องค์ประกอบการตอบกลับแต่ละรายการจะมี origin_index
และ destination_index
สำหรับต้นทางและปลายทางที่ระบุโดยคำขอ ต้นทางของเส้นทางจะเทียบเท่ากับ origins[origin_index]
สำหรับองค์ประกอบนั้นๆ และปลายทางของเส้นทางจะเทียบเท่ากับ destinations[destination_index]
อาร์เรย์เหล่านี้จะได้รับการจัดทำดัชนีเป็น 0 และควรจัดเก็บลำดับรายการต้นทางและปลายทาง
คำนวณตัวอย่างเมทริกซ์เส้นทาง
ใช้เมธอด computeRouteMatrix ในคำขอ HTTP เพื่อคำนวณเมทริกซ์เส้นทาง
ตัวอย่าง HTTP
ตัวอย่างต่อไปนี้แสดงคำขอ HTTP computeRouteMatrix
ในตัวอย่างนี้คุณ
ระบุอาร์เรย์ของจุดอ้างอิงต้นทาง 2 จุดและจุดหมาย 2 จุด เมธอดจะคำนวณเส้นทางจากต้นทางแต่ละแห่งไปยังปลายทางแต่ละแห่ง เพื่อให้การตอบกลับมี 4 เส้นทาง
ในอาร์เรย์ องค์ประกอบแรกอยู่ที่ดัชนีเป็น 0 องค์ประกอบที่สองคือดัชนี 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