คุณคำนวณระยะทางและระยะเวลาของเส้นทางสำหรับต้นทางและปลายทางได้โดยใช้เมธอด ComputeRouteMatrix
ของ Routes Preferred API ComputeRouteMatrix
รองรับทั้งการสตรีมการเรียก gRPC และการเรียก HTTP ของ REST
โดยพิจารณาจากรายการคู่ต้นทางและปลายทาง ComputeRouteMatrix
จะคำนวณระยะทางและระยะเวลาของเส้นทางที่เริ่มต้นจากต้นทางแต่ละแห่งและสิ้นสุดที่จุดหมายแต่ละแห่ง แต่ละองค์ประกอบของสตรีมจะสอดคล้องกับ
ข้อมูลสำหรับเส้นทางเดียว
เมธอด ComputeRouteMatrix
มีข้อดีมากกว่าบริการ Distance Matrix Service หลายประการ ดังนี้
- สตรีมมิงช่วยให้ระบบแสดงผลองค์ประกอบได้ก่อนที่จะคำนวณเมทริกซ์ทั้งหมด จึงช่วยลดเวลาในการตอบสนอง
ComputeRouteMatrix
มีตัวเลือกแบบละเอียดสำหรับการคำนวณการเข้าชม ซึ่งช่วยให้คุณตัดสินใจเกี่ยวกับเวลาในการตอบสนองที่มีคุณภาพได้- คำขอจะทำงานโดยมีลำดับความสำคัญสูงภายในโครงสร้างพื้นฐานของ Google ซึ่งส่งผลให้มีความพร้อมใช้งานสูงขึ้น
- คุณสามารถระบุทิศทาง (ทิศทางการเดินทาง) และข้อมูลข้างถนนสำหรับจุดอ้างอิงได้
- คุณสามารถขอข้อมูลค่าผ่านทางให้ส่งคืน พร้อมระยะทางของเส้นทางและเวลาถึงโดยประมาณ
เปิดใช้เมธอด ComputeRouteMatrix
ก่อนที่จะใช้เมธอด ComputeRouteMatrix
ในโค้ดได้ คุณต้องเปิดใช้เมธอด ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปิดใช้เมธอด Routes Preferred API ได้ที่การเริ่มต้นใช้งาน
การใช้เมธอด ComputeRouteMatrix
เมธอด ComputeRouteMatrix
มีอยู่ในปลายทาง Routes ที่ต้องการ v1
ดูข้อมูลโดยละเอียดเพิ่มเติมได้ในเอกสารประกอบต่อไปนี้
ขั้นตอนทั่วไปต่อไปนี้อธิบายวิธีใช้ gRPC เพื่อเรียกใช้เมธอด ComputeRouteMatrix
ตรวจสอบ Protobuffer ที่จําเป็นจากที่เก็บของ googleapis:
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
โปรดทราบว่าระบบบิลด์บางระบบ เช่น Go อาจดำเนินการให้คุณโดยอัตโนมัติ
สร้างโค้ดโปรโตคอลบัฟเฟอร์ที่เกี่ยวข้องโดยใช้ภาษาที่คุณต้องการและชุดเครื่องมือบิลด์
สร้างคําขอ โดยต้องส่งข้อมูลเมตา 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
คือคุณจะแสดงผลรหัสข้อผิดพลาดสำหรับทั้งสตรีมหรือสำหรับแต่ละองค์ประกอบก็ได้ ตัวอย่างเช่น การเชื่อมต่อสตรีมแสดงข้อผิดพลาดหากคำขอผิดรูปแบบ (เช่น ไม่มีต้นทาง) อย่างไรก็ตาม หากข้อผิดพลาดเกิดขึ้นกับองค์ประกอบเพียงไม่กี่อย่างของสตรีม (เช่น การตั้งค่ารหัสสถานที่ไม่ถูกต้องสำหรับต้นทาง) จะมีเพียงองค์ประกอบที่ได้รับผลกระทบจากข้อผิดพลาดเท่านั้นที่มีรหัสข้อผิดพลาด
เราไม่รับประกันว่าองค์ประกอบที่สตรีมแสดงจะส่งคืนในลำดับใดก็ตาม ด้วยเหตุนี้ องค์ประกอบแต่ละรายการจึงมี origin_index
และ destination_index
สำหรับต้นทางและปลายทางที่คำขอระบุไว้ ต้นทางของเส้นทางจะเทียบเท่ากับ origins[origin_index]
สำหรับองค์ประกอบหนึ่งๆ และปลายทางของเส้นทางจะเทียบเท่ากับ destinations[destination_index]
อาร์เรย์เหล่านี้จะได้รับการจัดทำดัชนีเป็น 0 ซึ่งเป็นสิ่งสำคัญในการจัดเก็บลำดับรายการต้นทางและปลายทาง
กำลังคำนวณค่าธรรมเนียมค่าผ่านทาง
ดูข้อมูลเกี่ยวกับการคำนวณค่าธรรมเนียมค่าผ่านทางได้ที่คำนวณค่าธรรมเนียมค่าผ่านทาง
ดูตัวอย่างการคำนวณค่าผ่านทางได้ที่การคำนวณตัวอย่างเมทริกซ์เส้นทาง