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

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

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

เมธอด ComputeRouteMatrix มีข้อดีมากกว่าบริการ Distance Matrix

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

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

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

การใช้เมธอด ComputeRouteMatrix

ใช้เมธอด ComputeRouteMatrix ได้ผ่านปลายทาง Routes Preferred 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. โปรดตรวจสอบ Protobuffers ที่จำเป็นจากที่เก็บ googleapis ดังนี้

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

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

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

  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 ได้ในตัวอย่างการคำนวณ Route Matrix (เบต้า)

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

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

กำลังคำนวณค่าผ่านทาง

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

ดูตัวอย่างการคำนวณค่าธรรมเนียมทางพิเศษได้ที่การคำนวณตัวอย่าง Route Matrix