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

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

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

เมธอด ComputeRouteMatrix มีข้อดีเหนือกว่าบริการ Distance Matrix Service ดังนี้

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

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

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

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

เมธอด ComputeRouteMatrix พร้อมให้ใช้งานผ่านปลายทาง Routes Preferred v1

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

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

ส่วนที่เหลือ: 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. ใช้ภาษาที่คุณต้องการและชุดเครื่องมือในการสร้างเพื่อสร้างโค้ด 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 ได้ที่ตัวอย่างการคำนวณเมทริกซ์เส้นทาง (เบต้า)

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

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

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

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

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