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