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

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

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

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

  2. สร้างโค้ดโปรโตคอลบัฟเฟอร์ที่เกี่ยวข้องโดยใช้ภาษาที่คุณต้องการและชุดเครื่องมือบิลด์

  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 คือคุณจะแสดงผลรหัสข้อผิดพลาดสำหรับทั้งสตรีมหรือสำหรับแต่ละองค์ประกอบก็ได้ ตัวอย่างเช่น การเชื่อมต่อสตรีมแสดงข้อผิดพลาดหากคำขอผิดรูปแบบ (เช่น ไม่มีต้นทาง) อย่างไรก็ตาม หากข้อผิดพลาดเกิดขึ้นกับองค์ประกอบเพียงไม่กี่อย่างของสตรีม (เช่น การตั้งค่ารหัสสถานที่ไม่ถูกต้องสำหรับต้นทาง) จะมีเพียงองค์ประกอบที่ได้รับผลกระทบจากข้อผิดพลาดเท่านั้นที่มีรหัสข้อผิดพลาด

เราไม่รับประกันว่าองค์ประกอบที่สตรีมแสดงจะส่งคืนในลำดับใดก็ตาม ด้วยเหตุนี้ องค์ประกอบแต่ละรายการจึงมี origin_index และ destination_index สำหรับต้นทางและปลายทางที่คำขอระบุไว้ ต้นทางของเส้นทางจะเทียบเท่ากับ origins[origin_index] สำหรับองค์ประกอบหนึ่งๆ และปลายทางของเส้นทางจะเทียบเท่ากับ destinations[destination_index] อาร์เรย์เหล่านี้จะได้รับการจัดทำดัชนีเป็น 0 ซึ่งเป็นสิ่งสำคัญในการจัดเก็บลำดับรายการต้นทางและปลายทาง

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

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

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