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

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

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

เมธอด ComputeRouteMatrix มีข้อดีมากกว่าเมธอด บริการเมทริกซ์ระยะทาง:

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

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

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

ใช้เมธอด ComputeRouteMatrix

คุณสามารถใช้เมธอด ComputeRouteMatrix ผ่านเส้นทางที่ต้องการ ปลายทาง 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. โปรดตรวจสอบ Protobuffers ที่จำเป็นจากที่เก็บ 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] อาร์เรย์เหล่านี้ไม่มีการจัดทำดัชนี ทั้งนี้ เป็นสิ่งสำคัญในการจัดเก็บลำดับรายการต้นทางและปลายทาง

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

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

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