ระบุวิธีการและรวมข้อมูลการจราจร

ค่ากำหนดการจราจรที่คุณเลือกจะสร้างสมดุลระหว่างความถูกต้องของรายละเอียดเส้นทางกับประสิทธิภาพของคำขอ เมื่อส่งคำขอ คุณต้องการชั่งน้ำหนักว่าควรส่งคืนผลลัพธ์ที่แม่นยำที่สุดเท่าที่ทำได้ หรือจะให้ได้ผลลัพธ์โดยเร็วที่สุดหรือไม่ Routes API มีตัวเลือกที่ช่วยให้คุณควบคุมคุณภาพของข้อมูลการตอบกลับเทียบกับเวลาในการตอบสนองของการตอบกลับได้

ตั้งค่าระดับข้อมูลการเข้าชม

Routes API มี RoutingPreference (REST) และRoutingPreference (gRPC) ที่ช่วยให้คุณระบุค่ากำหนดการกำหนดเส้นทางสำหรับการคำนวณเส้นทางได้ ค่ากำหนดเหล่านี้จะต่างกันตรงที่ปัจจัยดังกล่าวจะนำสภาพการจราจรมาพิจารณาในการคำนวณเส้นทาง ค่ากำหนดการกำหนดเส้นทางแต่ละรายการจะให้ผลลัพธ์ที่แตกต่างกันตามระดับคุณภาพของเส้นทาง เวลาถึงโดยประมาณโดยประมาณ และเวลาในการตอบสนอง

สภาพการจราจรเป็นตัวกำหนดอัตราการไหลของการเข้าชม เช่น

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

ไม่ทราบข้อมูลการจราจร

เมื่อตั้งค่าการกำหนดเส้นทาง TRAFFIC_UNAWARE ระบบจะคำนวณเส้นทางโดยไม่พิจารณาสภาพการจราจรปัจจุบัน ค่ากำหนดการกำหนดเส้นทางนี้ให้เวลาในการตอบสนองต่ำที่สุด (ระบบจะตอบกลับเร็วที่สุด)

TRAFFIC_UNAWARE คือการตั้งค่าเริ่มต้น

คำตอบ:

  • เวลาถึงโดยประมาณอยู่ในพร็อพเพอร์ตี้การตอบกลับ duration

  • พร็อพเพอร์ตี้การตอบกลับ duration และ staticDuration มีค่าเดียวกัน

ใช้ค่ากำหนดการกำหนดเส้นทางนี้เมื่อต้องการให้ระบบแสดงคำตอบที่เร็วที่สุดและรายละเอียดการกำหนดเส้นทางโดยประมาณก็เพียงพอแล้ว

การรับรู้เกี่ยวกับการจราจร

เมื่อตั้งค่ากำหนดการกำหนดเส้นทาง TRAFFIC_AWARE ระบบจะคำนวณเส้นทางตามสภาพการจราจรปัจจุบัน ด้วยเหตุนี้ รายละเอียดเส้นทางและ เส้นทางจะแสดงสภาพจริงได้แม่นยำขึ้น เนื่องจากการเพิ่มขึ้นของข้อมูลมีคุณภาพนี้ต้องลดเวลาในการตอบสนองของการตอบกลับ การเพิ่มประสิทธิภาพจึงใช้เพื่อลดเวลาในการตอบสนองลงมาก

คำตอบ:

  • เวลาถึงโดยประมาณที่พิจารณาการเข้าชมแบบเรียลไทม์จะอยู่ในพร็อพเพอร์ตี้การตอบกลับ duration

  • พร็อพเพอร์ตี้การตอบกลับ staticDuration มีระยะเวลาการเดินทางผ่านเส้นทางโดยไม่คํานึงถึงสภาพการจราจร

ใช้ค่ากำหนดการกำหนดเส้นทางนี้เมื่อคุณต้องการรายละเอียดการกำหนดเส้นทางที่แม่นยำยิ่งขึ้นมากกว่า TRAFFIC_UNAWARE แต่คุณยังไม่ต้องกังวลหากการตอบกลับมีเวลาในการตอบสนองที่เพิ่มขึ้นปานกลาง

ประสิทธิภาพสูงสุดของการรับรู้เกี่ยวกับการจราจร

เมื่อคุณตั้งค่าค่ากำหนดการกำหนดเส้นทาง TRAFFIC_AWARE_OPTIMAL ระบบจะคำนวณเส้นทางโดยพิจารณาจากสภาพการจราจรปัจจุบัน แต่จะไม่ใช้การเพิ่มประสิทธิภาพ ในโหมดนี้ เซิร์ฟเวอร์จะทำการค้นหาเครือข่ายถนนอย่างละเอียดมากขึ้นเพื่อค้นหาเส้นทางที่ดีที่สุด

ค่ากำหนดการกำหนดเส้นทาง TRAFFIC_AWARE_OPTIMAL จะเทียบเท่ากับโหมดที่ maps.google.com และในแอป Google Maps บนอุปกรณ์เคลื่อนที่ใช้

เมื่อใช้ตัวเลือกนี้กับเมทริกซ์เส้นทาง Compute จำนวนองค์ประกอบในคำขอ (จำนวนต้นทาง x จำนวนปลายทาง) ต้องไม่เกิน 100 ดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัดของเมทริกซ์เส้นทาง Compute ได้ที่คำนวณเมทริกซ์เส้นทาง

คำตอบ:

  • เวลาถึงโดยประมาณที่พิจารณาการเข้าชมแบบเรียลไทม์จะอยู่ในพร็อพเพอร์ตี้การตอบกลับ duration

  • พร็อพเพอร์ตี้การตอบกลับ staticDuration มีระยะเวลาการเดินทางผ่านเส้นทางโดยไม่คํานึงถึงสภาพการจราจร

ค่ากำหนดการกำหนดเส้นทางนี้ให้เวลาในการตอบสนองสูงสุด (กล่าวคือ การตอบกลับจะแสดงพร้อมกับการหน่วงเวลานานที่สุด) ใช้ค่ากำหนดการกำหนดเส้นทางนี้เมื่อคุณต้องการผลการค้นหาที่มีคุณภาพสูงที่สุดโดยไม่คำนึงถึงระยะเวลาการตอบกลับ

ผลกระทบของการตั้งค่าเวลาออกเดินทาง

คุณจะใช้พร็อพเพอร์ตี้ departureTime เพื่อกำหนดเวลาออกเดินทางสำหรับการเดินทางได้ หากไม่ได้ตั้งค่าพร็อพเพอร์ตี้ departureTime ไว้ ค่าเริ่มต้นจะเป็นเวลาที่คุณสร้างคำขอ

  • สำหรับ TRAFFIC_UNAWARE คุณจะตั้งค่า departureTime ไม่ได้เนื่องจากตัวเลือกเส้นทางและระยะเวลาอิงตามเครือข่ายถนนและสภาพการจราจรที่ไม่ขึ้นอยู่กับเวลาโดยเฉลี่ย

  • สำหรับ TRAFFIC_AWARE และ TRAFFIC_AWARE_OPTIMAL ซึ่งคำนึงถึงเงื่อนไขการเข้าชมแบบสด การเข้าชมแบบสดจึงมีความสำคัญมากขึ้นเมื่อเทียบกับ departureTime ในปัจจุบัน ยิ่งคุณกำหนดเวลาออกเดินทางในอนาคตไว้ไกลเพียงใด ก็จะทำให้พิจารณาเงื่อนไขการเข้าชมที่ผ่านมาได้มากขึ้น

ตัวอย่างการตั้งค่าการกำหนดเส้นทาง

โค้ด JSON ต่อไปนี้จะสาธิตวิธีตั้งค่ากำหนดการกำหนดเส้นทางในเนื้อหาเอนทิตีข้อความคำขอ

{
  "origin":{
    "location":{
      "latLng":{
        "latitude":37.419734,
        "longitude":-122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":37.417670,
        "longitude":-122.079595
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE_OPTIMAL"
}

กำหนดค่าคุณภาพโพลีไลน์

Routes API ให้คุณขอข้อมูลเกี่ยวกับสภาพการจราจรพร้อมกับโพลีไลน์ที่รับรู้การจราจรได้ ดูข้อมูลเพิ่มเติมได้ที่ขอโพลีไลน์

คุณภาพของโพลีไลน์สามารถอธิบายได้ดังนี้

  • จำนวนจุดที่เป็นเส้นประกอบ

    ยิ่งมีจุดมาก เส้นประกอบก็ยิ่งนุ่มนวล (โดยเฉพาะเส้นโค้ง)

  • ความแม่นยำของจุดลอยตัวของจุด

    จะมีการระบุจุดเป็นค่าละติจูดและลองจิจูดซึ่งแสดงในรูปแบบจุดลอยตัวที่มีความแม่นยำเดียว วิธีนี้ใช้ได้ดีกับค่าขนาดเล็ก (ซึ่งแสดงได้อย่างแม่นยำ) แต่ความแม่นยำจะลดลงเมื่อค่าเพิ่มขึ้นเนื่องจากข้อผิดพลาดในการปัดเศษที่เป็นจุดลอยตัว

เมธอด computeRoutes (REST) และเมธอด ComputeRoutes (gRPC) รองรับตัวเลือกคําขอ polylineQuality สําหรับการควบคุมคุณภาพโพลีไลน์

ตัวอย่างการตั้งค่าคุณภาพของเส้นประกอบ

polylineQuality ระบุคุณภาพของโพลีไลน์เป็น HIGH_QUALITY หรือ OVERVIEW (ค่าเริ่มต้น) เมื่อใช้ OVERVIEW โพลีไลน์จะเขียนโดยใช้จุดเพียงไม่กี่จุดและมีเวลาในการตอบสนองคำขอต่ำกว่า HIGH_QUALITY

ตัวอย่างเช่น ในเนื้อหาคำขอ:

{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "polylineQuality": "HIGH_QUALITY",
  "polylineEncoding": "ENCODED_POLYLINE", 
  "departureTime": "2023-10-15T15:01:23.045123456Z",
  ...
}