หน้านี้อธิบายอายุการใช้งานของแผนเส้นทางโดยใช้ Route Optimization API โดยเริ่มจากการระบุความต้องการในการกำหนดเส้นทางและสิ้นสุดด้วยแผนเส้นทางแบบผสานรวมในระบบของคุณ
เมื่อทำตามขั้นตอนของแผนเส้นทาง คุณจะบรรลุวัตถุประสงค์ต่อไปนี้ได้
- แมปการดำเนินการของกลุ่มยานพาหนะ: แปลงกลุ่มยานพาหนะจริง ข้อจำกัดที่ซับซ้อน และเป้าหมายทางธุรกิจเป็นโค้ดสำหรับ API
- เพิ่มประสิทธิภาพแผนเส้นทางสำหรับธุรกิจ: ทำความเข้าใจวิธีปรับแต่งแผนเส้นทางเพื่อให้บรรลุเป้าหมายและปรับปรุงการดำเนินงานประจำวัน
- นำไปใช้งานจริง: นำแผนเส้นทางไปใช้โดยรวมไว้ในการดำเนินงานประจำวัน
แผนภาพต่อไปนี้แสดงอายุการใช้งานของแผนเส้นทาง
ระยะการติดตั้งใช้งานของแผนเส้นทางจะเกิดขึ้นเมื่อคุณผสานรวม API เป็นครั้งแรกหรือเมื่อข้อกำหนดทางธุรกิจมีการเปลี่ยนแปลงอย่างมาก โดยครอบคลุมระยะที่ 1 ถึง 5
ระยะการดำเนินการรายวันจะใช้ทรัพยากรน้อยกว่า และมีการปรับแต่งเพียงเล็กน้อย ซึ่งครอบคลุมขั้นตอนที่ 2 ถึง 4
อายุการใช้งานของระยะเส้นทางมีดังนี้
- กำหนดขอบเขตปัญหา: ระบุและจัดระเบียบวัตถุประสงค์ ทรัพยากร งาน และข้อจำกัดเพื่อให้เห็นภาพรวมของการดำเนินการก่อนเริ่มใช้ API
- แมปข้อมูล: แปลงความเป็นจริงทางธุรกิจเป็นพารามิเตอร์ API เพื่อให้แผนเส้นทางแสดงให้เห็นว่าคุณต้องการให้กลุ่มยานพาหนะทำงานอย่างไร
- สร้างคำขอและรับแผนเส้นทาง: ป้อนข้อมูลลงใน API และรับแผนเส้นทางที่เพิ่มประสิทธิภาพแล้ว
- ปรับแต่งแผนเส้นทาง: ทดสอบแผนเส้นทางและปรับปรุงซ้ำโดยปรับข้อจำกัดและวัตถุประสงค์เพื่อให้แน่ใจว่าครอบคลุมความต้องการทั้งหมด
- ผสานรวมแผนเส้นทาง: เชื่อมต่อแผนเส้นทางกับระบบที่มีอยู่เพื่อแสดงการนำทางที่นำไปใช้ได้จริง
กำหนดขอบเขตปัญหา
ก่อนใช้ API คุณต้องจัดระเบียบรายละเอียดการดำเนินการในแต่ละวันให้เป็นหมวดหมู่ข้อมูลที่ชัดเจน ซึ่งจะช่วยให้คุณเริ่มกระบวนการติดตั้งใช้งานได้อย่างชัดเจนว่าทรัพยากรและงานปัจจุบันของคุณคืออะไร มีข้อจำกัดอะไรบ้าง และวัตถุประสงค์ที่คุณต้องการบรรลุด้วยกลุ่มยานพาหนะของคุณคืออะไร
ระบุทรัพยากรและงาน
ขั้นตอนสำคัญเมื่อวางแผนเส้นทางคือการระบุทรัพยากรและงาน ซึ่งก็คือยานพาหนะและการจัดส่ง
| ยานพาหนะ | การจัดส่ง |
|---|---|
|
|
ระบุข้อจำกัด
ข้อจำกัดคือขีดจำกัดและข้อจำกัดเกี่ยวกับวิธีใช้ยานพาหนะและวิธีจัดการการจัดส่ง เนื่องจากเป็นตัวกำหนดการดำเนินงานส่วนใหญ่และมีความสำคัญอย่างยิ่งเมื่อสร้างแผนเส้นทางที่เพิ่มประสิทธิภาพ
โดยทั่วไปแล้ว ข้อจำกัดจะแบ่งออกเป็น 2 หมวดหมู่ ได้แก่
| ข้อจำกัดที่เข้มงวด | ข้อจำกัดแบบยืดหยุ่น |
|---|---|
| ซึ่งเป็นขีดจำกัดที่ไม่สามารถละเมิดได้ เช่น รถบรรทุกไม่สามารถบรรทุกน้ำหนักเกินความจุสูงสุด และคนขับไม่สามารถรับสินค้าหลังจากร้านค้าปิดแล้ว | ค่ากำหนดเหล่านี้สามารถละเมิดได้หากจำเป็น โดยปกติแล้วจะมีค่าปรับ เช่น คุณอาจต้องการบรรทุกสินค้าในรถบรรทุกเพียง 80% ของความจุ หรือนำส่งก่อนเวลาเป้าหมาย แต่คุณก็ยอมรับได้หากเกินขีดจำกัดเหล่านี้เพื่อให้ได้เส้นทางที่ดีขึ้น |
ข้อจำกัดที่พบบ่อยมีดังนี้
- ขีดจำกัดความจุ: น้ำหนัก ปริมาตร หรือจำนวนสินค้าสูงสุดที่ยานพาหนะสามารถบรรทุกได้
- กรอบเวลา: ช่วงเวลาที่เจาะจงซึ่งสถานที่เปิดให้เข้าชม หรือช่วงเวลาทำงานที่เจาะจงของคนขับ
- ต้นทุน: ต้นทุนในการใช้ยานพาหนะหรือการข้ามการจัดส่ง เป้าหมายหลักอย่างหนึ่งของ API คือการสร้างแผนเส้นทางที่คุ้มค่า
- ช่วงพักของคนขับ: ระยะเวลาพักของคนขับที่กฎหมายแรงงานมักกำหนดไว้หลังจากทำงานเป็นจำนวนชั่วโมงที่กำหนด
กำหนดวัตถุประสงค์ทางธุรกิจ
เมื่อกำหนดทรัพยากร งาน และข้อจำกัดแล้ว ก็ถึงเวลากำหนดเมตริกที่สำคัญต่อธุรกิจมากที่สุด วัตถุประสงค์เหล่านี้จะสอดคล้องกับข้อจำกัด และช่วยให้คุณตัดสินใจได้ว่าสิ่งใดสำคัญที่สุดเมื่อวางแผนเส้นทาง
ตัวอย่างวัตถุประสงค์ทางธุรกิจมีดังนี้
| จำนวนยานพาหนะ | ระยะทาง | เวลา | ค่าใช้จ่าย |
|---|---|---|---|
| คุณต้องการลดจำนวนยานพาหนะที่ใช้ หรือใช้ยานพาหนะทั้งหมดเพื่อให้งานเสร็จเร็วขึ้น | คุณต้องการเส้นทางที่สั้นที่สุดเพื่อประหยัดเชื้อเพลิง หรือต้องการเส้นทางที่เร็วกว่าซึ่งอาจมีระยะทางไกลกว่าเนื่องจากใช้ทางหลวง | คุณต้องการลดจำนวนชั่วโมงการทำงานทั้งหมด หรือให้ความสำคัญกับการไปถึงในเวลาที่กำหนดซึ่งอาจทำให้ใช้เวลาเดินทางนานขึ้น | คุณต้องการลดค่าใช้จ่ายในการดำเนินงาน เช่น ค่าจ้างและค่าน้ำมัน หรือยอมรับค่าใช้จ่ายที่สูงขึ้นเพื่อให้ทันกำหนดเวลาที่เข้มงวดหรือไม่ |
แมปข้อมูล
เมื่อรวบรวมข้อมูลแล้ว ให้แมปข้อมูลให้ตรงกับพร็อพเพอร์ตี้ของ API ซึ่งจะช่วยให้เครื่องมือเพิ่มประสิทธิภาพมีข้อมูลทั้งหมดในการแสดงแผนเส้นทางที่คำนึงถึงความเป็นจริงทางธุรกิจของคุณ
ใช้พารามิเตอร์ในตารางถัดไปเพื่อแมปทรัพยากร งาน ข้อจำกัด และวัตถุประสงค์ที่คุณแมปไว้ในส่วนกำหนดขอบเขตปัญหา
การแมปตัวแปร
| แนวคิดในชีวิตจริง | พารามิเตอร์ API | คำอธิบาย |
|---|---|---|
| คนขับหรือยานพาหนะ | model.vehicles[] |
แสดงถึงยานพาหนะคันเดียวในกลุ่มยานพาหนะ |
| สถานที่ตั้งของคลังสินค้า |
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 |
กำหนดเวลาที่พร้อมให้เข้าชมสถานที่ หากยานพาหนะไม่สามารถมาถึงภายในกรอบเวลานี้ ระบบจะข้ามการจัดส่งนั้น |
| Shift length limit | 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ซึ่งจะเป็นประโยชน์ในการทดสอบเมื่อเพิ่มหรือนำการจัดส่งและยานพาหนะออก เนื่องจากจะจับคู่เส้นทางโดยใช้ป้ายกำกับแทนดัชนี ซึ่งกำหนดให้ป้ายกำกับยานพาหนะและป้ายกำกับการจัดส่งทั้งหมดต้องไม่ซ้ำกัน
ผสานรวมแผนเส้นทาง
แผนเส้นทางที่สรุปแล้วคือออบเจ็กต์ข้อมูลที่แสดงถึงการจัดการทรัพยากรและงานที่เพิ่มประสิทธิภาพแล้ว โดยเป็นไปตามข้อจำกัดและวัตถุประสงค์ของคุณ ใช้แผนเส้นทางนี้ในการดำเนินงานประจำวันโดยผสานรวมเข้ากับระบบของคุณ ซึ่งโดยทั่วไปจะเกี่ยวข้องกับการแสดงภาพแผนเส้นทางสำหรับผู้จัดการกลุ่มยานพาหนะและการส่งคำแนะนำแบบเลี้ยวต่อเลี้ยวไปยังคนขับ
การแสดงข้อมูลเป็นภาพ
หากต้องการอนุญาตให้ผู้จัดการกลุ่มยานพาหนะยืนยันและตรวจสอบแผนเส้นทาง คุณสามารถแสดงแผนเส้นทางเป็นภาพได้ด้วยวิธีต่อไปนี้
หากต้องการอนุญาตให้ผู้จัดการกลุ่มยานพาหนะยืนยันและตรวจสอบแผนเส้นทาง คุณสามารถแสดงแผนเส้นทางบนแผนที่แดชบอร์ดได้ คุณสามารถแสดงภาพแผนเส้นทางได้ด้วยวิธีต่อไปนี้ ทั้งนี้ขึ้นอยู่กับขั้นตอนการพัฒนาปัจจุบันของคุณ
- สำรวจโดยไม่ต้องเขียนโค้ด: คุณสามารถใช้แอป Route Optimization แบบโอเพนซอร์สเพื่อดูว่า 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 จะจับคู่ลำดับการเข้าชมที่วางแผนไว้กับการติดตามยานพาหนะแบบเรียลไทม์