คุณสามารถคำนวณระยะทางและระยะเวลาของเส้นทางสำหรับต้นทางและปลายทางหลายแห่งได้โดยใช้ComputeRouteMatrix
เมธอด
ของ Routes Preferred API ComputeRouteMatrix
รองรับทั้งการเรียกใช้ gRPC แบบสตรีมมิงและการเรียกใช้ HTTP ของ REST
เมื่อระบุรายการคู่ต้นทางและปลายทาง ComputeRouteMatrix
จะคำนวณระยะทางและระยะเวลาของเส้นทางที่เริ่มต้นจากต้นทางแต่ละแห่ง
และสิ้นสุดที่ปลายทางแต่ละแห่ง องค์ประกอบแต่ละรายการของสตรีมจะสอดคล้องกับข้อมูลของเส้นทางเดียว
ComputeRouteMatrix
วิธีนี้มีข้อดีหลายประการเหนือกว่า
Distance Matrix Service ดังนี้
- การสตรีมช่วยให้ระบบแสดงผลองค์ประกอบได้ก่อนที่จะคำนวณเมทริกซ์ทั้งหมด ซึ่งจะช่วยลดเวลาในการตอบสนอง
ComputeRouteMatrix
มีตัวเลือกแบบละเอียดสำหรับการคำนวณการเข้าชม ช่วยให้คุณตัดสินใจเลือกคุณภาพเทียบกับเวลาในการตอบสนองได้- คำขอจะทำงานที่ลำดับความสำคัญสูงกว่าภายในโครงสร้างพื้นฐานของ Google ซึ่งส่งผลให้มีความพร้อมใช้งานสูงขึ้น
- คุณระบุส่วนหัว (ทิศทางการเดินทาง) และข้อมูลด้านข้างของถนน สำหรับจุดอ้างอิงได้
- คุณขอให้ระบบแสดงข้อมูลค่าผ่านทางพร้อมกับ ระยะทางของเส้นทางและเวลาถึงโดยประมาณได้
เปิดใช้เมธอด ComputeRouteMatrix
คุณต้องเปิดใช้ComputeRouteMatrix
ก่อนจึงจะใช้วิธีนี้ในโค้ดได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปิดใช้เมธอด Routes Preferred API
ได้ที่เริ่มต้นใช้งาน
ใช้วิธี ComputeRouteMatrix
วิธีการ ComputeRouteMatrix
พร้อมใช้งานผ่านปลายทาง Routes Preferred
v1
ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบต่อไปนี้
ขั้นตอนทั่วไปต่อไปนี้อธิบายวิธีใช้ gRPC เพื่อเรียกใช้เมธอด ComputeRouteMatrix
ตรวจสอบ Protobuffer ที่จำเป็นจากที่เก็บ googleapis
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
โปรดทราบว่าระบบบิลด์บางระบบ เช่น Go อาจดำเนินการนี้ให้คุณโดยอัตโนมัติ
สร้างโค้ด Protobuffer ที่เกี่ยวข้องโดยใช้ภาษาและชุดเครื่องมือบิลด์ที่คุณต้องการ
สร้างคำขอ ต้องส่งข้อมูลเมตาที่จำเป็น 2 รายการพร้อมกับคำขอ ดังนี้
- ต้องตั้งค่า X-Goog-Api-Key เป็นคีย์ API ของคุณ
ต้องตั้งค่า X-Goog-Fieldmask เป็นรายการฟิลด์ที่คั่นด้วยคอมมา ที่คุณต้องการจากคำตอบ เช่น X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status คุณใช้อักขระไวลด์การ์ด (*) เพื่อระบุช่องทั้งหมดได้ แต่เราไม่แนะนำให้ทำ ใช้อักขระไวลด์การ์ดเพื่อทดสอบและทำความเข้าใจคำตอบของ API แต่ให้ระบุช่องที่คุณต้องการอย่างชัดเจนใน Field Mask ในโค้ดเวอร์ชันที่ใช้งานจริง
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างสตริง FieldMask ได้ที่ 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 คุณควรจัดเก็บลำดับรายการต้นทางและปลายทาง
การคำนวณค่าธรรมเนียมทางด่วน
ดูข้อมูลเกี่ยวกับการคำนวณค่าธรรมเนียมทางด่วนได้ที่หัวข้อคำนวณค่าธรรมเนียมทางด่วน
ดูตัวอย่างการคำนวณค่าธรรมเนียมทางด่วนได้ที่ ตัวอย่างการคำนวณเมทริกซ์เส้นทาง