มากกว่า

รีเซ็ตเส้นทางและการควบคุมเครื่องกำหนดเส้นทางของใบปลิว


ฉันกำลังพยายามสร้างแอปการกำหนดเส้นทางตามตำแหน่งทางภูมิศาสตร์ในเชิงมุมโดยใช้ leaflet.js และเครื่องกำหนดเส้นทางของแผ่นพับ ฉันมีฟังก์ชัน 'addRouting' ที่ฉันส่งผ่านตำแหน่งผู้ใช้ (fromLat, fromLng) และปลายทาง (toLat, toLng)

ฉันสามารถรับเส้นทางเริ่มต้นที่จะแสดงได้ แต่ฉันมีปัญหาในการล้างแผนที่และการควบคุม เพื่อให้ฉันสามารถผ่านในเส้นทางและทิศทางใหม่ได้ ด้วยรหัสปัจจุบันนี้ เส้นทางที่สองจะไม่ถูกวาด และฉันได้รับชุดการควบคุมใหม่ที่แสดงดังที่แสดงด้านล่าง

ฉันคิดว่าฉันต้องการวิธีล้างและรีเซ็ตแผนที่และฟังก์ชันการกำหนดเส้นทาง ฉันยังใหม่กับการใช้ทั้งเครื่องกำหนดเส้นทางของแผ่นพับและเครื่องกำหนดเส้นทางของแผ่นพับ และฉันพยายามทำความเข้าใจว่าสิ่งนี้สามารถทำได้อย่างไร

// เพิ่มการกำหนดเส้นทาง $scope.addRouting = function (fromLat, fromLng, toLat, toLng) { // รับ map object leafletData.getMap ().then (ฟังก์ชัน (map) { // fit map.fitBounds ([[fromLat, fromLng], [toLat, toLng]]); // ล้างเส้นทางและการควบคุม // เพิ่มการกำหนดเส้นทางใหม่ L.Routing.control ({ จุดอ้างอิง: [ L.latLng (fromLat, fromLng), L.latLng (toLat, toLng) ] }).addTo(แผนที่); }); }

หากคุณอ้างอิงถึง L.Routing.Control รอบ ๆ คุณสามารถลบออกได้ในภายหลัง

$scope.routingControl = L.Routing.control({ จุดอ้างอิง: [ L.latLng(fromLat, fromLng), L.latLng(toLat, toLng) ] }).addTo(map);

และเพื่อลบออก:

$scope.removeRouting = function() { leafletData.getMap().then(ฟังก์ชัน(map) { map.removeControl($scope.routingControl); }); };

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

$scope.updateRoute = ฟังก์ชัน (fromLat, fromLng, toLat, toLng) { $scope.routingControl.getPlan().setWaypoints([ L.latLng(fromLat, fromLng), L.latLng(toLat, toLng) ]); };


ดูวิดีโอ: วธการตงคารเซท Reset BMW X1 Reset นำมนเครอง Reset ลมยาง Reset เบรค ระบบเตอนตางๆ (ตุลาคม 2021).