ค่ากำหนดการเข้าชมที่คุณเลือกจะปรับความถูกต้องของรายละเอียดเส้นทางให้สมดุลกับคำขอ ประสิทธิภาพด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- รับรู้การจราจร: แสดงผลลัพธ์ที่แม่นยำที่สุดเท่าที่จะเป็นไปได้ (เวลาในการตอบสนองสูงขึ้น)
- ไม่ทราบการจราจร: แสดงผลลัพธ์โดยเร็วที่สุด (เวลาในการตอบสนองต่ำที่สุด)
เมื่อส่งคำขอ ให้พิจารณาว่าควรแสดงผลลัพธ์ที่แม่นยำที่สุดเท่าที่จะเป็นไปได้ หรือแสดงผลลัพธ์โดยเร็วที่สุด ไลบรารีเส้นทาง มีตัวเลือกที่ช่วยให้คุณควบคุมคุณภาพของข้อมูลการตอบกลับเทียบกับเวลาในการตอบสนองของ การตอบกลับได้
ตั้งค่าระดับการเข้าชมและรูปแบบการเข้าชม
หากต้องการระบุระดับการเข้าชม ให้ตั้งค่า
routingPreference
ใน ComputeRoutesRequest รายการต่อไปนี้แสดง
routingPreference ตัวเลือกที่มี
TRAFFIC_UNAWARE(ค่าเริ่มต้น): แสดงผลลัพธ์ เร็วที่สุดพร้อมรายละเอียดการกำหนดเส้นทางโดยประมาณTRAFFIC_AWARE: แสดงผลลัพธ์ที่แม่นยำมากขึ้น โดยใช้ข้อมูลการจราจรแบบเรียลไทม์ แต่มีเวลาในการตอบสนองสูงกว่าTRAFFIC_AWARE_OPTIMAL: แสดงผลลัพธ์ที่แม่นยำที่สุดเท่าที่จะเป็นไปได้โดยใช้ข้อมูลการจราจรแบบเรียลไทม์ แต่มีความหน่วงสูงสุด
พร็อพเพอร์ตี้ TRAFFIC_MODEL
แสดงถึงสมมติฐานที่จะใช้เมื่อคาดการณ์ระยะเวลาในการเข้าชม (
TrafficModel.BEST_GUESS (ค่าเริ่มต้น)
TrafficModel.OPTIMISTIC
TrafficModel.PESSIMISTIC)
วิธีเลือกการกำหนดเส้นทางที่พิจารณาการจราจร
หากต้องการสร้างคำขอเส้นทางที่พิจารณาการจราจร ให้ทำตามขั้นตอนต่อไปนี้
-
ตั้งค่าพร็อพเพอร์ตี้
travelModeเป็นDRIVING -
ตั้งค่าพร็อพเพอร์ตี้
routingPreferenceเป็นค่าใดค่าหนึ่งต่อไปนี้TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL
หมายเหตุ:
TRAFFIC_UNAWAREเป็นการตั้งค่าเริ่มต้น -
ตั้งค่าพร็อพเพอร์ตี้
trafficModelเป็นค่าใดค่าหนึ่งต่อไปนี้ -
ตั้งค่าพร็อพเพอร์ตี้
extraComputationsเป็นTRAFFIC_ON_POLYLINE -
ขอฟิลด์
path,speedPathsและrouteLabels
คำขอตัวอย่างต่อไปนี้แสดงวิธีขอเส้นทางที่รับรู้การจราจรซึ่งแสดงข้อมูลการจราจร ใน Polyline
// Define a traffic aware routes request with polylines. const requestWithTraffic = { origin: '200 King St San Francisco, CA 94107', destination: 'Pier 41, San Francisco, CA 94133', travelMode: 'DRIVING', routingPreference: 'TRAFFIC_AWARE_OPTIMAL', trafficModel: 'optimistic', extraComputations: ['TRAFFIC_ON_POLYLINE'], fields: ['speedPaths'], };
สภาพการจราจร
สภาพการจราจรจะระบุอัตราการไหลของการจราจร
- การจราจรปกติ: ไม่มีการจราจรติดขัดและรถยนต์เคลื่อนที่ด้วยความเร็วปกติ
- การจราจรเล็กน้อยถึงปานกลาง: การจราจรหนาแน่นขึ้น โดยการจราจรเคลื่อนตัวด้วยความเร็วที่ลดลง
- การจราจรหนาแน่น: การจราจรติดขัดอย่างหนัก ความเร็วในการจราจรลดลงอย่างมาก
ไม่ทราบการจราจร
TRAFFIC_UNAWARE เป็นการตั้งค่าเริ่มต้น ใช้ค่ากำหนดการกำหนดเส้นทางนี้เมื่อคุณต้องการให้ระบบแสดงคำตอบเร็วที่สุด และรายละเอียดการกำหนดเส้นทางโดยประมาณก็เพียงพอแล้ว
ระบบจะคำนวณTRAFFIC_UNAWAREโดยไม่คำนึงถึงสภาพการจราจรในปัจจุบัน
การกำหนดค่าการกำหนดเส้นทางนี้จะส่งผลให้คำขอตอบกลับได้เร็วที่สุด (เวลาในการตอบสนองต่ำที่สุด)
หากเลือกTRAFFIC_UNAWARE เส้นทางและระยะเวลาที่เลือกจะอิงตามเครือข่ายถนน
และสภาพการจราจรโดยเฉลี่ยที่ไม่ขึ้นอยู่กับเวลา ไม่ใช่สภาพถนนปัจจุบัน
ดังนั้น เส้นทางอาจรวมถึงถนนที่ปิดชั่วคราว ผลลัพธ์สำหรับคำขอหนึ่งๆ อาจแตกต่างกันไปเมื่อเวลาผ่านไปเนื่องจากการเปลี่ยนแปลงในเครือข่ายถนน สภาพการจราจรโดยเฉลี่ยที่อัปเดตแล้ว และลักษณะการทำงานแบบกระจายของบริการ ผลลัพธ์อาจแตกต่างกันระหว่าง
เส้นทางที่เกือบเทียบเท่าได้ทุกเมื่อหรือทุกความถี่
คำตอบที่คุณจะเห็นมีดังนี้
duration: มีเวลาถึงโดยประมาณของเส้นทางstaticDuration: เวลาถึงโดยประมาณของเส้นทางที่พิจารณาเฉพาะข้อมูลการจราจรในอดีต สำหรับTRAFFIC_UNAWAREจะมีค่าเดียวกับduration
รับรู้การจราจร
ใช้ค่ากำหนดการกำหนดเส้นทางนี้เมื่อต้องการรายละเอียดการกำหนดเส้นทางที่แม่นยำกว่า TRAFFIC_UNAWARE และไม่เป็นไรหากการตอบกลับมีเวลาในการตอบสนองเพิ่มขึ้นเล็กน้อย
เมื่อตั้งค่าTRAFFIC_AWAREค่ากำหนดการกำหนดเส้นทาง บริการจะคำนวณ
เส้นทางโดยพิจารณาจากสภาพการจราจรในปัจจุบัน ด้วยเหตุนี้ เส้นทางและรายละเอียดเส้นทางจึงสะท้อนสภาพเส้นทางจริงได้แม่นยำยิ่งขึ้น
เนื่องจากการเพิ่มคุณภาพของข้อมูลนี้มาพร้อมกับเวลาในการตอบสนองที่เพิ่มขึ้น เราจึงใช้การเพิ่มประสิทธิภาพเพื่อลดเวลาในการตอบสนองส่วนใหญ่
คำตอบที่คุณจะเห็นมีดังนี้
duration: เวลาถึงโดยประมาณที่พิจารณาข้อมูลการจราจรแบบเรียลไทม์staticDuration: เวลาถึงโดยประมาณของเส้นทางที่พิจารณาเฉพาะข้อมูลการจราจรในอดีต
การจราจรที่ทราบว่าดีที่สุด
ใช้ค่ากำหนดการกำหนดเส้นทางนี้เมื่อต้องการผลลัพธ์ที่มีคุณภาพสูงสุดโดยไม่คำนึงถึง ระยะเวลาในการตอบกลับ การกำหนดเส้นทางนี้มีความล่าช้าในการส่งคืนคำตอบนานที่สุด (เวลาในการตอบสนองสูงสุด)
เมื่อตั้งค่าTRAFFIC_AWARE_OPTIMALค่ากำหนดการกำหนดเส้นทาง บริการจะคำนวณเส้นทางโดยพิจารณาสภาพการจราจรปัจจุบัน แต่จะไม่ใช้การเพิ่มประสิทธิภาพ ในโหมดนี้ เซิร์ฟเวอร์จะค้นหาเครือข่ายถนนอย่างละเอียดมากขึ้น
เพื่อค้นหาเส้นทางที่ดีที่สุด
TRAFFIC_AWARE_OPTIMALค่ากำหนดการกำหนดเส้นทางจะเทียบเท่ากับโหมดที่ใช้โดย
maps.google.com และแอป Google Maps บนอุปกรณ์เคลื่อนที่
เมื่อใช้ตัวเลือกนี้กับ computeRouteMatrix จำนวนองค์ประกอบในคำขอ (จำนวนต้นทาง × จำนวนปลายทาง) ต้องไม่เกิน 25
คำตอบที่คุณจะเห็นมีดังนี้
duration: เวลาถึงโดยประมาณของเส้นทางโดยพิจารณาจากข้อมูลการจราจรแบบเรียลไทม์staticDuration: เวลาถึงโดยประมาณของเส้นทางที่พิจารณาเฉพาะข้อมูลการจราจรในอดีต
ตั้งเวลาออกเดินทาง (ไม่บังคับ)
ใช้พร็อพเพอร์ตี้นี้เฉพาะคำขอที่รับรู้การเข้าชมซึ่งต้องระบุเวลาออกเดินทางเป็นเวลาในอนาคต
เท่านั้น หากไม่ได้ตั้งค่าพร็อพเพอร์ตี้ departureTime ค่าเริ่มต้นจะเป็นเวลาที่คุณส่งคำขอ
ใช้พร็อพเพอร์ตี้ departureTime พร้อมกับตัวเลือก TRAFFIC_AWARE และ TRAFFIC_AWARE_OPTIMAL เมื่อต้องการปรับวิธีที่บริการคาดการณ์การจราจรเมื่อเลือกเส้นทาง
TRAFFIC_UNAWARE: ไม่แนะนำเนื่องจากตัวเลือกเส้นทางและ ระยะเวลาจะอิงตามเครือข่ายถนนและสภาพการจราจรโดยเฉลี่ยที่ไม่ขึ้นอยู่กับเวลาTRAFFIC_AWAREและTRAFFIC_AWARE_OPTIMALแนะนำสำหรับการออกเดินทางในอนาคตอันใกล้นี้ เนื่องจากค่ากำหนดเหล่านี้ จะพิจารณาตามสภาพการจราจรแบบเรียลไทม์ การเข้าชมแบบเรียลไทม์ จะมีความสำคัญและเกี่ยวข้องมากขึ้นเมื่อdepartureTimeใกล้กับ ปัจจุบัน ยิ่งคุณตั้งเวลาออกเดินทางล่วงหน้ามากเท่าใด ระบบก็จะยิ่งพิจารณา สภาพการจราจรในอดีตในการเลือกเส้นทางมากขึ้นเท่านั้น
รับโทเค็นเส้นทาง
โทเค็นเส้นทางคือการแสดงเส้นทางที่เข้ารหัส base64 แบบ Web-safe ใช้โทเค็นเส้นทางเพื่อ แชร์เส้นทางกับ Navigation SDK SDK ใช้โทเค็นนี้เพื่อสร้างเส้นทางใหม่และ รักษาความตั้งใจในการนำทางเดิมไว้ แม้ว่าจะมีการเปลี่ยนเส้นทางก็ตาม
ทำตามขั้นตอนต่อไปนี้เพื่อรับโทเค็นเส้นทาง
- ตั้งค่า travelMode เป็น
DRIVING - ตั้งค่า
routingPreferenceเป็นTRAFFIC_AWAREหรือTRAFFIC_AWARE_OPTIMAL - ขอฟิลด์
routeToken
คำขอตัวอย่างต่อไปนี้แสดงวิธีขอโทเค็นเส้นทาง
// Define a traffic aware routes request with a route token. const requestWithRouteToken = { origin: '200 King St San Francisco, CA 94107', destination: 'Pier 41, San Francisco, CA 94133', travelMode: 'DRIVING', routingPreference: 'TRAFFIC_AWARE', fields: ['path', 'speedPaths', 'routeLabels', 'routeToken'], };