หน้านี้อธิบายวงจรของแผนเส้นทางโดยใช้ Route Optimization API ตั้งแต่การระบุความต้องการในการกำหนดเส้นทางไปจนถึง แผนเส้นทางที่ผสานรวมในระบบ
เมื่อทำตามขั้นตอนของแผนเส้นทาง คุณจะบรรลุวัตถุประสงค์ต่อไปนี้ได้
- ทำแผนที่การปฏิบัติงานของกองยานพาหนะ: แปลงกองยานพาหนะจริง ข้อจำกัดที่ซับซ้อน และเป้าหมายทางธุรกิจเป็นโค้ดสำหรับ API
- เพิ่มประสิทธิภาพแผนเส้นทางสำหรับธุรกิจ: ทำความเข้าใจวิธีปรับแต่งแผนเส้นทางเพื่อให้บรรลุเป้าหมายและปรับปรุงการดำเนินงานประจำวัน
- นำไปใช้จริง: นำแผนเส้นทางไปใช้โดยรวมไว้ในการปฏิบัติงานประจำวัน
แผนภาพต่อไปนี้แสดงวงจรของแผนเส้นทาง
ระยะการติดตั้งใช้งานของแผนเส้นทางจะเกิดขึ้นเมื่อคุณผสานรวม API เป็นครั้งแรกหรือเมื่อข้อกำหนดทางธุรกิจมีการเปลี่ยนแปลงอย่างมาก โดยครอบคลุม ระยะที่ 1 ถึง 5
ระยะการปฏิบัติงานประจำวันจะเบาขึ้น และการปรับแต่งจะน้อยที่สุด ซึ่งครอบคลุมขั้นตอนที่ 2-4
สถานะของเส้นทางมีดังนี้
- กำหนดขอบเขตปัญหา: ระบุและจัดระเบียบวัตถุประสงค์ ทรัพยากร งาน และข้อจำกัดเพื่อให้เห็นภาพรวมการดำเนินงานทั้งหมดก่อนเริ่มใช้ API
- แมปข้อมูล: แปลข้อมูลธุรกิจของคุณเป็นพารามิเตอร์ API เพื่อให้แผนเส้นทางแสดงถึงวิธีที่คุณต้องการให้กลุ่มยานพาหนะทำงาน
- สร้างคำขอและรับแผนเส้นทาง: ป้อนข้อมูลลงใน API และ รับแผนเส้นทางที่เพิ่มประสิทธิภาพแล้ว
- ปรับแผนเส้นทาง: ทดสอบแผนเส้นทางและทำซ้ำโดย ปรับข้อจำกัดและวัตถุประสงค์เพื่อให้ครอบคลุมความต้องการทั้งหมด
- ผสานรวมแผนเส้นทาง: เชื่อมต่อแผนเส้นทางกับระบบที่มีอยู่ เพื่อให้การนำทางที่นำไปใช้ได้จริง
กำหนดขอบเขตปัญหา
ก่อนใช้ API คุณต้องจัดระเบียบรายละเอียดของการดำเนินงานประจำวันเป็นหมวดหมู่ข้อมูลที่ชัดเจน ซึ่งจะช่วยให้คุณเริ่มกระบวนการติดตั้งใช้งานได้โดยทราบอย่างชัดเจนว่าปัจจุบันคุณมีทรัพยากรและงานอะไรบ้าง ข้อจำกัดของทรัพยากรและงานเหล่านั้นคืออะไร และวัตถุประสงค์ที่คุณต้องการบรรลุด้วยกองยานคืออะไร
ระบุแหล่งข้อมูลและงาน
ขั้นตอนสำคัญเมื่อวางแผนเส้นทางคือการระบุ ทรัพยากรและงาน ซึ่งก็คือยานพาหนะและการจัดส่ง
| ยานพาหนะ | การจัดส่ง |
|---|---|
|
|
ระบุข้อจำกัด
ข้อจำกัดคือขีดจำกัดและข้อจำกัดเกี่ยวกับวิธีที่คุณใช้ ยานพาหนะและวิธีที่คุณต้องจัดการการจัดส่ง ซึ่งจะกำหนดการปฏิบัติงานส่วนใหญ่ของคุณ และมีความสำคัญอย่างยิ่งเมื่อสร้างแผนเส้นทางที่เพิ่มประสิทธิภาพ
โดยทั่วไปแล้ว ข้อจำกัดจะแบ่งออกเป็น 2 หมวดหมู่ ดังนี้
| ข้อจำกัดที่เข้มงวด | ข้อจำกัดแบบยืดหยุ่น |
|---|---|
| ซึ่งเป็นขีดจำกัดที่ละเมิดไม่ได้ เช่น รถบรรทุกไม่สามารถบรรทุกน้ำหนักเกินความจุสูงสุด และคนขับไม่สามารถไปรับสินค้าหลังจากร้านค้าปิดแล้ว | ซึ่งเป็นค่ากำหนดที่อาจละเมิดได้หากจำเป็น โดยปกติแล้วจะมีค่าปรับ เช่น คุณอาจต้องการบรรทุกรถบรรทุกเพียง 80% ของความจุ หรือนำส่งก่อนเวลาเป้าหมาย แต่คุณก็ยอมรับที่จะเกินขีดจำกัดเหล่านี้เพื่อให้ได้เส้นทางที่ดีกว่า |
ข้อจำกัดที่พบบ่อยมีดังนี้
- ขีดจำกัดความจุ: น้ำหนัก ปริมาตร หรือจำนวนสินค้าสูงสุดที่ยานพาหนะ บรรทุกได้
- กรอบเวลา: ช่วงเวลาที่เฉพาะเจาะจงซึ่งสถานที่เปิดให้เข้าชม หรือเวลาเข้ากะที่เฉพาะเจาะจงของคนขับ
- ค่าใช้จ่าย: ค่าใช้จ่ายในการใช้งานยานพาหนะหรือข้ามการนำส่ง เป้าหมายหลักอย่างหนึ่งของ API คือการสร้างแผนเส้นทางที่คุ้มค่า
- เวลาพักของคนขับ: โดยปกติแล้วกฎหมายแรงงานกำหนดให้คนขับต้องมีเวลาพักหลังจากทำงานครบจำนวนชั่วโมงที่กำหนด
กำหนดวัตถุประสงค์ทางธุรกิจ
เมื่อกำหนดทรัพยากร งาน และข้อจำกัดแล้ว ก็ถึงเวลา กำหนดเมตริกที่มีความสำคัญต่อธุรกิจมากที่สุด วัตถุประสงค์เหล่านี้ควบคู่ไปกับข้อจำกัด และช่วยให้คุณตัดสินใจได้ว่าสิ่งใดสำคัญที่สุดเมื่อวางแผนเส้นทาง
ตัวอย่างวัตถุประสงค์ทางธุรกิจมีดังนี้
| จำนวนยานพาหนะ | ระยะทาง | เวลา | ค่าใช้จ่าย |
|---|---|---|---|
| คุณต้องการลดจำนวนยานพาหนะที่ใช้ หรือใช้ยานพาหนะทั้งหมดเพื่อทำงานให้เสร็จเร็วขึ้น | คุณต้องการเส้นทางที่สั้นที่สุดเพื่อประหยัดเชื้อเพลิง หรือต้องการเส้นทางที่เร็วกว่าซึ่งอาจยาวกว่าเนื่องจากการใช้ทางหลวง | คุณต้องการลดชั่วโมงการทำงานทั้งหมดหรือจัดลำดับความสำคัญของการมาถึงในเวลาที่เฉพาะเจาะจง ซึ่งอาจทำให้ใช้เวลาในการเดินทางนานขึ้น | คุณต้องการลดค่าใช้จ่ายในการดำเนินงาน เช่น ค่าจ้างและค่าน้ำมัน หรือยอมรับค่าใช้จ่ายที่สูงขึ้นเพื่อให้ทันกำหนดเวลาที่เข้มงวด |
แมปข้อมูล
เมื่อรวบรวมข้อมูลแล้ว ให้แมปข้อมูลเพื่อให้ตรงกับพร็อพเพอร์ตี้ของ API ซึ่งจะช่วยให้เครื่องมือเพิ่มประสิทธิภาพมีข้อมูลทั้งหมดเพื่อแสดงแผนเส้นทางที่คำนึงถึงความเป็นจริงของธุรกิจ
ใช้พารามิเตอร์ในตารางถัดไปเพื่อแมปทรัพยากร งาน ข้อจํากัด และวัตถุประสงค์ที่คุณแมปไว้ในส่วนระบุขอบเขตของปัญหา
การแมปตัวแปร
| แนวคิดในชีวิตจริง | พารามิเตอร์ API | คำอธิบาย |
|---|---|---|
| คนขับหรือยานพาหนะ | model.vehicles[] |
แสดงยานพาหนะคันเดียวในกลุ่มยานพาหนะ |
| สถานที่ตั้งของ Depot |
vehicles[].startWaypointvehicles[].endWaypoint
|
ตำแหน่งที่ยานพาหนะเริ่มและสิ้นสุดเส้นทาง |
| เวลาทำการ |
model.globalStartTimemodel.globalEndTime
|
เวลาเริ่มต้นเร็วที่สุดและเวลาสิ้นสุดช้าที่สุดสำหรับการปฏิบัติงานของทั้งกองยานพาหนะ |
| งานหรือแพ็กเกจ | model.shipments[] |
แสดงถึงงาน อาจเป็น pickup, delivery หรือทั้ง 2 อย่าง |
| ตำแหน่งของงาน |
pickups[].arrivalWaypointdeliveries[].arrivalWaypoint
|
สถานที่ตั้งทางภูมิศาสตร์ที่งานเกิดขึ้น |
| เวลาให้บริการ |
pickups[].durationdeliveries[].duration
|
เวลาที่ใช้ในสถานที่เพื่อทำงานให้เสร็จ (เช่น ขนถ่าย) โดยไม่รวมระยะเวลาเดินทาง |
การแมปข้อจำกัด
| ข้อจำกัดในสถานการณ์จริง | พารามิเตอร์ API | คำอธิบาย |
|---|---|---|
| ความจุของยานพาหนะ | vehicles[].loadLimits |
กำหนดขีดจำกัดแบบเข้มงวดหรือแบบยืดหยุ่นสำหรับความจุของยานพาหนะ หาก loadDemand ของการจัดส่งเกินขีดจำกัดที่เหลือ ระบบจะไม่กำหนดการจัดส่ง |
| ขนาดแพ็กเกจ | shipments[].loadDemands |
ปริมาณความจุของยานพาหนะที่การจัดส่งใช้ |
| ข้อจำกัดของยานพาหนะ | shipments[].allowedVehicleIndices |
จำกัดการจัดส่งเพื่อให้รับหรือนำส่งได้โดยยานพาหนะหรือคนขับที่เฉพาะเจาะจงเท่านั้น |
| เวลาที่เปิดให้บริการ | shipments[].pickups[].timeWindows หรือ shipments[].deliveries[].timeWindows |
กำหนดเวลาที่พร้อมให้บริการสำหรับการเข้าชมสถานที่ หากยานพาหนะมาถึงภายในกรอบเวลานี้ไม่ได้ ระบบจะข้ามการจัดส่ง |
| ขีดจำกัดความยาวของกะ | vehicles[].routeDurationLimit |
กำหนดขีดจำกัดแบบตายตัวหรือแบบยืดหยุ่นเกี่ยวกับระยะเวลาที่คนขับเฉพาะรายสามารถทำงานได้ (เช่น สูงสุด 8 ชั่วโมง) โดยไม่คำนึงถึงเวลาสิ้นสุดทั่วโลก |
| เวลาพักของคนขับ | vehicles[].breakRule |
บังคับใช้กฎการพักผ่อนที่เฉพาะเจาะจง เช่น การหยุดพักที่จำเป็นหลังจากทำงานเป็นเวลาหลายชั่วโมง |
| ข้อจำกัดบนถนน | vehicles[].travelMode |
ระบุโหมดการเดินทาง (เช่น DRIVE หรือ BICYCLE) ซึ่งจะจำกัดเส้นทางให้ใช้ถนนที่ถูกกฎหมาย และกำหนดความเร็วที่ใช้ในการคำนวณเวลาเดินทาง |
การเชื่อมโยงวัตถุประสงค์
| วัตถุประสงค์ในโลกแห่งความเป็นจริง | พารามิเตอร์ API | คำอธิบาย |
|---|---|---|
| ลดขนาดกลุ่ม | vehicles[].fixedCost |
ใช้ต้นทุนแบบครั้งเดียวสำหรับการใช้ยานพาหนะ ต้นทุนคงที่สูงทำให้เส้นทางต้องจัดลำดับความสำคัญในการใช้ยานพาหนะน้อยลงมากกว่าการเพิ่มระยะทางรวมหรือเวลาทำงาน |
| ลดระยะทาง | vehicles[].costPerKilometer |
ใช้ต้นทุนสำหรับทุกกิโลเมตรที่เดินทาง ให้ความสำคัญกับเส้นทางที่สั้นกว่าเพื่อประหยัดเชื้อเพลิงและลดการสึกหรอ |
| ลดเวลารวม | vehicles[].costPerHour |
ใช้ต้นทุนทุกชั่วโมงที่ยานพาหนะใช้งานอยู่ (รวมถึงเวลาเดินทางและเวลารอ) ให้ความสำคัญกับการดำเนินการให้เสร็จเร็วขึ้น |
| ลดเวลาในการขับรถ | vehicles[].costPerTraveledHour |
ใช้ต้นทุนเฉพาะสำหรับเวลาที่ใช้ในการเคลื่อนที่ ซึ่งจะแยกความแตกต่างระหว่างการนั่งอยู่ในรถติด (แพง) กับการรอที่ป้ายจอดรถ(อาจถูกกว่า) |
| จัดลำดับความสำคัญของงานบางอย่าง | shipments[].penaltyCost |
ใช้ต้นทุนหากมีการข้ามการจัดส่งที่เฉพาะเจาะจง การตั้งค่านี้ให้สูงจะช่วยให้มั่นใจได้ว่าระบบจะจัดลำดับความสำคัญของงานที่สำคัญมากกว่างานที่ไม่บังคับ |
สร้างคำขอและรับคำตอบ
การใช้ Route Optimization API เพื่อสร้างแผนเส้นทางมีขั้นตอนดังนี้
- กำหนดค่าสภาพแวดล้อม: ตั้งค่าโปรเจ็กต์ Google Cloud, เปิดใช้ API และกำหนดค่าการตรวจสอบสิทธิ์ โปรดดูวิธีการที่หัวข้อเริ่มต้นใช้งาน คุณต้องทำตามขั้นตอนนี้เพียงครั้งเดียว
- ส่งคำขอ: สร้างเนื้อหาของคำขอโดยใช้การแมปข้อมูล ที่กำหนดไว้ในส่วนก่อนหน้า ดูข้อมูลเกี่ยวกับปลายทาง ส่วนหัว และ การจัดรูปแบบคำขอได้ที่หัวข้อส่งคำขอ API
- ทำความเข้าใจการตอบกลับ: เมื่อได้รับการตอบกลับจาก API แล้ว ให้ทำความเข้าใจ แผนเส้นทางและความหมายของพารามิเตอร์แต่ละรายการ ดูการตีความคำตอบ
ปรับแผนเส้นทาง
การแปลงโลจิสติกส์ในโลกแห่งความเป็นจริงให้เป็นต้นทุนและข้อจำกัดของ API เป็นงานที่ซับซ้อน แผนเส้นทางเริ่มต้นอาจไม่ตรงกับวัตถุประสงค์ทางธุรกิจ หรือความคาดหวังของคนขับ การปรับแต่งแผนเส้นทางเป็นกระบวนการแบบวนซ้ำ ในการทดสอบเส้นทางที่แสดงและปรับพารามิเตอร์จนกว่าคุณจะ พบการตั้งค่าที่บรรลุเป้าหมาย
ปรับวัตถุประสงค์และข้อจำกัด
หากแผนเส้นทางที่สร้างขึ้นไม่ตรงกับความต้องการ คุณสามารถแก้ไขพารามิเตอร์บางอย่าง เพื่อให้ได้ผลลัพธ์ที่แตกต่างกัน การเข้มงวดหรือผ่อนปรนพารามิเตอร์ จะเปลี่ยนวิธีแก้ปัญหาเป้าหมายที่ขัดแย้งกันในแผนเส้นทาง และการผ่อนปรน พารามิเตอร์เป็นวิธีที่มีประสิทธิภาพในการค้นหาพารามิเตอร์ที่ทำให้เกิด ข้อผิดพลาดในแผนเส้นทาง
ตารางต่อไปนี้แสดงปัญหาการกำหนดเส้นทางที่พบบ่อยและพารามิเตอร์ที่คุณปรับเพื่อแก้ไขปัญหาได้
| สถานการณ์ | พารามิเตอร์ | การปรับราคาเสนอ | คำอธิบาย |
|---|---|---|---|
| ข้ามการจัดส่งที่สำคัญ | shipments[].penaltyCost |
เพิ่มมูลค่า หรือเพิ่มค่าปรับสำหรับการจัดส่งอื่นๆ | หากการจัดส่งเป็นแบบไม่บังคับ ให้เพิ่มค่าปรับเพื่อจัดลำดับความสำคัญ หากต้องมีการจัดส่ง (ไม่มีค่าปรับ) ให้เพิ่มค่าปรับลงในอื่นๆ ซึ่งเป็นการจัดส่งที่มีความสำคัญน้อยกว่า ซึ่งทำให้การจัดส่งเหล่านี้เป็นแบบไม่บังคับ จึงช่วยประหยัดเวลาและเพิ่มความสามารถในการจัดส่งสินค้าที่สำคัญ |
| ข้ามการจัดส่งเนื่องจากเวลา | softStartTime / softEndTime |
เพิ่มช่วงเวลาแบบยืดหยุ่น | กรอบเวลาที่แน่นอนจะทิ้งงานที่ล่าช้าแม้เพียง 1 นาที ช่วงเวลาที่ยืดหยุ่นช่วยให้คนขับมาถึงได้ช้ากว่ากำหนดเล็กน้อยโดยการ "ชดเชย" แทนที่จะไม่สามารถรับงานได้ |
| ข้ามการจัดส่งเนื่องจากน้ำหนัก | loadLimits[].softMaxLoad และ costPerUnitAbove |
เพิ่มความต้องการโหลดแบบค่อยเป็นค่อยไป | อนุญาตให้ยานพาหนะบรรทุกเกินความจุที่เหมาะสมเล็กน้อย (โดยมีค่าปรับ) แทนที่จะทิ้งพัสดุไว้ |
| ข้ามการจัดส่งเนื่องจากยานพาหนะมีภาระงานมากเกินไป | model.vehicles[] หรือ shipments[].timeWindows |
เพิ่มยานพาหนะหรือช่วงเวลาผ่อนปรน | หากมีการจัดส่งมากเกินไปสำหรับกองยานพาหนะปัจจุบัน โดยเฉพาะในช่วงเวลาเร่งด่วน ให้เพิ่มยานพาหนะหรือขยายช่วงเวลาจัดส่งเพื่อกระจายภาระงาน |
| เส้นทางยาวเกินไปหรือไม่มีประสิทธิภาพ | vehicles[].costPerKilometer / costPerHour |
เพิ่มต้นทุนหรือเพิ่มมูลค่า | บอก API ว่าการเดินทางมีค่าใช้จ่ายสูง เพื่อกระตุ้นให้ API ละเว้นจุดจอดที่อยู่ไกลและโดดเดี่ยวเพื่อสร้างเส้นทางที่กระชับยิ่งขึ้นสำหรับกองยาน |
| กะของคนขับนานเกินไป | vehicles[].routeDurationLimit หรือ model.vehicles[] |
เพิ่มขีดจำกัดระยะเวลา หรือเพิ่มยานพาหนะและขีดจำกัด | บังคับใช้ขีดจำกัดสูงสุด (เช่น 8 ชั่วโมง) สำหรับเวลาทั้งหมดที่คนขับใช้บนท้องถนน การเพิ่มยานพาหนะเพียงอย่างเดียวจะไม่ทำให้เส้นทางสั้นลง เว้นแต่คุณจะใช้ขีดจำกัดระยะเวลาเพื่อบังคับให้ตัวแก้ปัญหากระจายภาระงานไปยังกลุ่มยานพาหนะที่ใหญ่ขึ้นด้วย |
อัปเดตแผนเส้นทาง
บ่อยครั้งที่คุณอาจต้องอัปเดตแผนเส้นทางในขณะที่ยังคงใช้ฐานเดียวกัน เช่น การเพิ่มการรับสินค้าลงในกำหนดการของคนขับที่ใช้งานอยู่ โดยให้ใช้พารามิเตอร์การแทรก ซึ่งจะให้ API เริ่มต้นตามโซลูชันก่อนหน้า เพื่อให้แก้ไขแพ็กเกจที่มีอยู่ได้แทนที่จะคำนวณแพ็กเกจใหม่ตั้งแต่ต้น
คุณอัปเดตแผนเส้นทางด้วยพารามิเตอร์การแทรกได้หลายวิธีดังนี้
- ส่งเส้นทางจากการตอบกลับก่อนหน้าไปยังฟิลด์
injectedFirstSolutionRoutesของคำขอใหม่ ซึ่งจะช่วยเพิ่มความเร็วในการ ค้นหาการเพิ่มประสิทธิภาพและมีประโยชน์สำหรับการวางแผนใหม่ก่อนเริ่มการปฏิบัติงานประจำวัน เช่น การผสานรวมการจัดส่งในนาทีสุดท้าย - ควบคุมระดับการเปลี่ยนแปลงโดยใช้ช่อง
injectedSolutionConstraintซึ่งจะเป็นประโยชน์เมื่อการปฏิบัติงานกำลังดำเนินอยู่ โดยช่วยให้คุณรักษาลำดับปัจจุบันของคนขับหรือแก้ไขส่วนของแผนที่ดำเนินการไปแล้วได้ - ตรวจสอบว่าเส้นทางที่อัปเดตแล้วยังคงกำหนดให้กับยานพาหนะที่ถูกต้องโดย
ตั้งค่า
interpretInjectedSolutionsUsingLabelsเป็นtrueซึ่งจะมีประโยชน์ในการทดลองเมื่อเพิ่มหรือนำการจัดส่งและยานพาหนะออก เนื่องจากจะจับคู่เส้นทางโดยใช้ป้ายกำกับแทนดัชนี ซึ่งกำหนดให้ป้ายกำกับยานพาหนะและการจัดส่งทั้งหมดต้องไม่ซ้ำกัน
ผสานรวมแผนเส้นทาง
แผนเส้นทางที่สรุปแล้วคือออบเจ็กต์ข้อมูลที่แสดงถึงการจัดการทรัพยากรและงานที่เพิ่มประสิทธิภาพแล้ว ขณะเดียวกันก็เป็นไปตามข้อจำกัดและวัตถุประสงค์ของคุณ ใช้แผนเส้นทางนี้ในการปฏิบัติงานประจำวันโดยผสานรวมเข้ากับระบบ โดยปกติแล้วจะเกี่ยวข้องกับการแสดงภาพแผนเส้นทางสำหรับผู้จัดการกองยานพาหนะและ การส่งคำสั่งแบบเลี้ยวต่อเลี้ยวให้แก่คนขับ
การแสดงข้อมูลเป็นภาพ
หากต้องการอนุญาตให้ผู้จัดการกองยานพาหนะยืนยันและตรวจสอบแผนเส้นทาง คุณสามารถแสดงภาพ แผนเส้นทางได้ด้วยวิธีต่อไปนี้
หากต้องการอนุญาตให้ผู้จัดการกองยานพาหนะยืนยันและตรวจสอบแผนเส้นทาง คุณสามารถแสดงแผนเส้นทางบนแผนที่แดชบอร์ดได้ คุณสามารถ แสดงภาพแผนเส้นทางได้ด้วยวิธีต่อไปนี้ โดยขึ้นอยู่กับขั้นตอนการพัฒนาปัจจุบัน
- สำรวจโดยไม่ต้องใช้โค้ด: คุณสามารถใช้แอปการเพิ่มประสิทธิภาพเส้นทางแบบโอเพนซอร์สเพื่อดูว่า API แปลงข้อมูลเป็นเส้นทางจริงบนแผนที่ได้อย่างไร เว็บแอปพลิเคชันนี้ ทำหน้าที่เป็นเครื่องมือสํารวจที่ช่วยให้คุณสร้างสถานการณ์ ปรับพารามิเตอร์ ข้อจํากัด และแสดงแผนเส้นทางที่ได้ด้วยภาพก่อน เขียนโค้ด
- แสดงลําดับการเข้าชม: คุณสามารถแสดงลําดับการเข้าชมเป็นจุดที่มีหมายเลข
บนแผนที่เพื่อประเมินแผนการเพิ่มประสิทธิภาพและการจัดส่งในระบบของคุณเอง
โดยค้นหา
visitsอาร์เรย์ภายในแต่ละเส้นทางของคำตอบ API รายการในอาร์เรย์นี้จะเรียงตามลำดับที่ไดรเวอร์ควร ดำเนินการ คุณสามารถวนซ้ำในรายการนี้ ใช้shipmentIndexเพื่อ ดึงพิกัดตำแหน่งของแต่ละป้าย และใช้ไลบรารีการแมป เพื่อแสดงเครื่องหมายที่มีหมายเลขบนแผนที่ตามลำดับในรายการ - วาดเส้นทางจริง: คุณสามารถเห็นภาพเส้นทางที่วางแผนไว้บนแผนที่
เพื่อทำความเข้าใจว่าเหตุใดเครื่องมือเพิ่มประสิทธิภาพจึงเลือกเส้นทางที่เฉพาะเจาะจง เส้นประกอบนี้แสดงเส้นทางที่ต้องการสำหรับการวางแผนและการประเมิน ไม่ใช่เส้นทางแบบเรียลไทม์ที่คนขับใช้ ตั้งค่า
populatePolylines: trueในคำขอเพื่อรับฟิลด์encodedPolylineสำหรับแต่ละเส้นทาง และถอดรหัสโดยใช้เมธอดgoogle.maps.geometry.encoding.decodePath()จาก Maps JavaScript API
ส่งงานให้คนขับ
คุณสามารถผสานรวมการนำทางแบบเลี้ยวต่อเลี้ยวเข้ากับแอปพลิเคชันสำหรับคนขับได้โดยใช้ Navigation SDK หรือระบุ Deep Link ไปยังแอป Google Maps สำหรับผู้บริโภค
- Navigation SDK: หากมีแอปพลิเคชันสำหรับคนขับรถที่กำหนดเอง คุณสามารถผสานรวม Navigation SDK สำหรับ Android หรือ iOS เพื่อรับคำแนะนำแบบเลี้ยวต่อเลี้ยวในแอป
คุณสามารถผสานรวมข้อมูลงานจากการตอบกลับของ API เข้ากับระบบ
และใช้ SDK สำหรับการนำทางได้ หากต้องการส่งเส้นทางจากการตอบกลับของ API ไปยัง SDK ให้ตั้งค่า
populateTransitionPolylines: trueในคำขอ ซึ่งจะสร้างrouteTokenสำหรับแต่ละทรานซิชันในคำตอบ - Fleet Engine: สำหรับการจัดการกลุ่มยานพาหนะขั้นสูง คุณสามารถนำเข้าแผนเส้นทางที่สร้างโดย API ไปยัง Fleet Engine เพื่อตรวจสอบการดำเนินการเส้นทางแบบเรียลไทม์ได้ แม้ว่า API จะมีเส้นประกอบของเส้นทางที่ต้องการสำหรับการประเมิน แต่ Fleet Engine จะจับคู่ลำดับการเข้าชมที่วางแผนไว้กับการติดตามยานพาหนะแบบเรียลไทม์