คุณสามารถคํานวณระยะทางและระยะเวลาของเส้นทางสําหรับต้นทางและปลายทางหลายแห่งได้โดยใช้ComputeRouteMatrix
methodของ Routes Preferred API ComputeRouteMatrix
รองรับทั้งการเรียก gRPC แบบสตรีมมิงและการเรียก REST HTTP
เมื่อระบุรายการคู่ต้นทางและปลายทาง ComputeRouteMatrix
จะคำนวณระยะทางและระยะเวลาของเส้นทางที่เริ่มต้นจากต้นทางแต่ละแห่งและสิ้นสุดที่ปลายทางแต่ละแห่ง องค์ประกอบแต่ละรายการของสตรีมจะสอดคล้องกับข้อมูลของเส้นทางเดียว
วิธีการ ComputeRouteMatrix
มีข้อดีหลายประการเหนือกว่าบริการตารางเมตริกระยะทาง ดังนี้
- สตรีมมิงช่วยให้ระบบแสดงผลองค์ประกอบได้ก่อนที่จะคำนวณทั้งเมทริกซ์ ซึ่งจะช่วยลดเวลาในการตอบสนอง
ComputeRouteMatrix
มีตัวเลือกแบบละเอียดสําหรับการคํานวณการเข้าชม ซึ่งช่วยให้คุณตัดสินใจเลือกระหว่างคุณภาพกับเวลาในการตอบสนองได้- ระบบจะเรียกใช้คําขอที่มีลําดับความสําคัญสูงกว่าภายในโครงสร้างพื้นฐานของ Google ซึ่งทําให้ความพร้อมใช้งานสูงขึ้น
- คุณสามารถระบุข้อมูลทาง (ทิศทางการเดินทาง) และข้อมูลข้างทางสำหรับจุดแวะพักได้
- คุณสามารถขอข้อมูลทางด่วนที่แสดงพร้อมกับระยะทางของเส้นทางและเวลาถึงโดยประมาณ
เปิดใช้เมธอด ComputeRouteMatrix
คุณต้องเปิดใช้เมธอด ComputeRouteMatrix
ในโค้ดก่อนจึงจะใช้ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปิดใช้เมธอด Routes Preferred API ได้ที่การเริ่มต้นใช้งาน
ใช้เมธอด ComputeRouteMatrix
วิธีการ ComputeRouteMatrix
มีให้บริการผ่านปลายทาง Routes Preferredv1
ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบต่อไปนี้
ขั้นตอนทั่วไปต่อไปนี้อธิบายวิธีใช้ gRPC เพื่อเรียกใช้ComputeRouteMatrix
ตรวจสอบโปรโตบัวเออร์ที่จำเป็นจากที่เก็บ googleapis
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
โปรดทราบว่าระบบบิลด์บางระบบ เช่น Go อาจดำเนินการนี้ให้คุณโดยอัตโนมัติ
สร้างโค้ด Protobuf ที่เกี่ยวข้องโดยใช้ภาษาและชุดเครื่องมือสร้างที่ต้องการ
สร้างคำขอ คุณต้องส่งข้อมูลเมตา 2 รายการต่อไปนี้พร้อมกับคำขอ
- คุณต้องตั้งค่า X-Goog-Api-Key เป็นคีย์ API ของคุณ
คุณต้องตั้งค่า X-Goog-Fieldmask เป็นรายการช่องที่คั่นด้วยคอมมาซึ่งคุณต้องการจากคำตอบ เช่น X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status คุณสามารถใช้อักขระไวลด์การ์ด (*) เพื่อระบุช่องทั้งหมดได้ แต่เราไม่แนะนํา ใช้อักขระไวลด์การ์ดเพื่อทดสอบและทำความเข้าใจคำตอบของ API แต่ระบุช่องที่ต้องการในหน้ากากช่องอย่างชัดเจนในโค้ดเวอร์ชันที่ใช้งานจริง
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างสตริงมาสก์ฟิลด์ได้ที่ https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto โปรดทราบว่าการปิดใช้ช่องที่ไม่จําเป็นจะช่วยลดเวลาในการตอบสนองได้ เนื่องจากช่องเหล่านั้นอาจต้องมีการคํานวณเพิ่มเติม เวลาในการตอบสนองจะยังคงเดิมหากคุณระบุช่องที่ต้องการและเพิ่มช่องใหม่ที่ต้องคำนวณเพิ่มเติมในภายหลัง
ส่งคําขอไปที่
routespreferred.googleapis.com:443
โดยต้องใช้โปรโตคอล TLS
ดูตัวอย่างการใช้เมธอด ComputeRouteMatrix
ได้ที่ตัวอย่างการคํานวณเมทริกซ์เส้นทาง (เบต้า)
ลักษณะเด่นอย่างหนึ่งของเมธอด ComputeRouteMatrix
คือสามารถแสดงรหัสข้อผิดพลาดสำหรับทั้งสตรีมหรือสำหรับองค์ประกอบแต่ละรายการ เช่น การเชื่อมต่อสตรีมจะแสดงข้อผิดพลาดหากคําขอผิดรูปแบบ (เช่น มีต้นทางเป็น 0) อย่างไรก็ตาม หากข้อผิดพลาดมีผลกับองค์ประกอบเพียงไม่กี่รายการของสตรีม (เช่น การตั้งค่ารหัสสถานที่ที่ไม่ถูกต้องสำหรับต้นทาง) เฉพาะองค์ประกอบที่ได้รับผลกระทบจากข้อผิดพลาดเท่านั้นที่มีรหัสข้อผิดพลาด
ไม่มีการรับประกันว่าระบบจะแสดงผลองค์ประกอบที่ส่งคืนจากสตรีมตามลำดับใดๆ ด้วยเหตุนี้ เอลิเมนต์แต่ละรายการจึงมี origin_index
และ destination_index
สําหรับต้นทางและปลายทางที่ระบุโดยคําขอ ต้นทางของเส้นทางจะเทียบเท่ากับ origins[origin_index]
สําหรับองค์ประกอบหนึ่งๆ และปลายทางของเส้นทางจะเทียบเท่ากับ destinations[destination_index]
อาร์เรย์เหล่านี้เป็นแบบ Zero-indexed คุณควรจัดเก็บลําดับรายการต้นทางและปลายทาง
การคำนวณค่าธรรมเนียมทางด่วน
ดูข้อมูลเกี่ยวกับการคํานวณค่าธรรมเนียมผ่านทางด่วนได้ที่หัวข้อคํานวณค่าธรรมเนียมผ่านทางด่วน
ดูตัวอย่างการคำนวณค่าผ่านทางได้ที่ตัวอย่างการคำนวณเมทริกซ์เส้นทาง