คำนวณเมทริกซ์เส้นทาง

คุณสามารถคํานวณระยะทางและระยะเวลาของเส้นทางสําหรับต้นทางและปลายทางหลายแห่งได้โดยใช้ComputeRouteMatrix methodของ Routes Preferred API ComputeRouteMatrix รองรับทั้งการเรียก gRPC แบบสตรีมมิงและการเรียก REST HTTP

เมื่อระบุรายการคู่ต้นทางและปลายทาง ComputeRouteMatrix จะคำนวณระยะทางและระยะเวลาของเส้นทางที่เริ่มต้นจากต้นทางแต่ละแห่งและสิ้นสุดที่ปลายทางแต่ละแห่ง องค์ประกอบแต่ละรายการของสตรีมจะสอดคล้องกับข้อมูลของเส้นทางเดียว

วิธีการ ComputeRouteMatrix มีข้อดีหลายประการเหนือกว่าบริการตารางเมตริกระยะทาง ดังนี้

  • สตรีมมิงช่วยให้ระบบแสดงผลองค์ประกอบได้ก่อนที่จะคำนวณทั้งเมทริกซ์ ซึ่งจะช่วยลดเวลาในการตอบสนอง
  • ComputeRouteMatrix มีตัวเลือกแบบละเอียดสําหรับการคํานวณการเข้าชม ซึ่งช่วยให้คุณตัดสินใจเลือกระหว่างคุณภาพกับเวลาในการตอบสนองได้
  • ระบบจะเรียกใช้คําขอที่มีลําดับความสําคัญสูงกว่าภายในโครงสร้างพื้นฐานของ Google ซึ่งทําให้ความพร้อมใช้งานสูงขึ้น
  • คุณสามารถระบุข้อมูลทาง (ทิศทางการเดินทาง) และข้อมูลข้างทางสำหรับจุดแวะพักได้
  • คุณสามารถขอข้อมูลทางด่วนที่แสดงพร้อมกับระยะทางของเส้นทางและเวลาถึงโดยประมาณ

เปิดใช้เมธอด ComputeRouteMatrix

คุณต้องเปิดใช้เมธอด ComputeRouteMatrix ในโค้ดก่อนจึงจะใช้ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปิดใช้เมธอด Routes Preferred API ได้ที่การเริ่มต้นใช้งาน

ใช้เมธอด ComputeRouteMatrix

วิธีการ ComputeRouteMatrix มีให้บริการผ่านปลายทาง Routes Preferredv1

ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบต่อไปนี้

gRPC: https://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1

REST: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix

ขั้นตอนทั่วไปต่อไปนี้อธิบายวิธีใช้ gRPC เพื่อเรียกใช้ComputeRouteMatrix

  1. ตรวจสอบโปรโตบัวเออร์ที่จำเป็นจากที่เก็บ googleapis

    https://github.com/googleapis/googleapis/tree/master/google/maps/routes

    โปรดทราบว่าระบบบิลด์บางระบบ เช่น Go อาจดำเนินการนี้ให้คุณโดยอัตโนมัติ

  2. สร้างโค้ด Protobuf ที่เกี่ยวข้องโดยใช้ภาษาและชุดเครื่องมือสร้างที่ต้องการ

  3. สร้างคำขอ คุณต้องส่งข้อมูลเมตา 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 โปรดทราบว่าการปิดใช้ช่องที่ไม่จําเป็นจะช่วยลดเวลาในการตอบสนองได้ เนื่องจากช่องเหล่านั้นอาจต้องมีการคํานวณเพิ่มเติม เวลาในการตอบสนองจะยังคงเดิมหากคุณระบุช่องที่ต้องการและเพิ่มช่องใหม่ที่ต้องคำนวณเพิ่มเติมในภายหลัง

  4. ส่งคําขอไปที่ routespreferred.googleapis.com:443 โดยต้องใช้โปรโตคอล TLS

ดูตัวอย่างการใช้เมธอด ComputeRouteMatrix ได้ที่ตัวอย่างการคํานวณเมทริกซ์เส้นทาง (เบต้า)

ลักษณะเด่นอย่างหนึ่งของเมธอด ComputeRouteMatrix คือสามารถแสดงรหัสข้อผิดพลาดสำหรับทั้งสตรีมหรือสำหรับองค์ประกอบแต่ละรายการ เช่น การเชื่อมต่อสตรีมจะแสดงข้อผิดพลาดหากคําขอผิดรูปแบบ (เช่น มีต้นทางเป็น 0) อย่างไรก็ตาม หากข้อผิดพลาดมีผลกับองค์ประกอบเพียงไม่กี่รายการของสตรีม (เช่น การตั้งค่ารหัสสถานที่ที่ไม่ถูกต้องสำหรับต้นทาง) เฉพาะองค์ประกอบที่ได้รับผลกระทบจากข้อผิดพลาดเท่านั้นที่มีรหัสข้อผิดพลาด

ไม่มีการรับประกันว่าระบบจะแสดงผลองค์ประกอบที่ส่งคืนจากสตรีมตามลำดับใดๆ ด้วยเหตุนี้ เอลิเมนต์แต่ละรายการจึงมี origin_index และ destination_index สําหรับต้นทางและปลายทางที่ระบุโดยคําขอ ต้นทางของเส้นทางจะเทียบเท่ากับ origins[origin_index] สําหรับองค์ประกอบหนึ่งๆ และปลายทางของเส้นทางจะเทียบเท่ากับ destinations[destination_index] อาร์เรย์เหล่านี้เป็นแบบ Zero-indexed คุณควรจัดเก็บลําดับรายการต้นทางและปลายทาง

การคำนวณค่าธรรมเนียมทางด่วน

ดูข้อมูลเกี่ยวกับการคํานวณค่าธรรมเนียมผ่านทางด่วนได้ที่หัวข้อคํานวณค่าธรรมเนียมผ่านทางด่วน

ดูตัวอย่างการคำนวณค่าผ่านทางได้ที่ตัวอย่างการคำนวณเมทริกซ์เส้นทาง