Daha çox

Vərəqə marşrutlaşdırma maşını marşrutunu və nəzarətlərini sıfırlayın


Leaflet.js və broşura marşrutlaşdırma maşını istifadə edərək açısal bir coğrafi yerləşmə əsaslı marşrutlaşdırma tətbiqi qurmağa çalışıram. Bir istifadəçi məkanından (fromLat, fromLng) keçdiyim bu 'addRouting' funksiyasına və ayrıca bir təyinat yerinə (toLat, toLng) sahibəm.

Göstərmək üçün ilkin bir marşrut əldə edə bilərəm, ancaq xəritəni və idarəetməni təmizləməkdə çətinlik çəkirəm ki, yeni bir marşrut və istiqamətə keçə biləm. Bu kodla ikinci marşrut çəkilmir və aşağıda göstərildiyi kimi tamamilə yeni bir idarəetmə dəsti alıram.

Xəritəni və marşrutlaşdırma funksiyasını silmək və sıfırlamaq üçün bir yol lazım olduğunu düşünürəm. Həm vərəqə, həm də vərəqə marşrutlaşdırma maşını istifadə etməkdə yeniyəm və bunun necə edilə biləcəyini başa düşməkdə çətinlik çəkirəm.

// Routing əlavə et $ range.addRouting = function (fromLat, fromLng, toLat, toLng) {// Map object leafletData.getMap () alın. Sonra (function (map) {// map map.fitBounds ([[fromLat, fromLng], [toLat, toLng]]); // marşrut və nəzarətləri təmizləyin // yeni marşrut əlavə edin L.Routing.control ({yol nöqtələri: [L.latLng (fromLat, fromLng), L.latLng (toLat, toLng)] }). addTo (xəritə);}); }

Ətrafınızdakı L.Routing.Control-a istinad etsəniz, onu sonradan silə bilərsiniz.

$ kapsamında.routingControl = L.Routing.control ({yol nöqtələri: [L.latLng (fromLat, fromLng), L.latLng (toLat, toLng)]}). addTo (map);

və silmək üçün:

$ scale.removeRouting = function () {leafletData.getMap (). then (function (map) {map.removeControl ($ kapsam.routingControl);}); };

Yoxsa marşrutlaşdırma nöqtələrini dəyişdirməyi hədəflədiyiniz halda onu silməyə və yeni bir marşrut nəzarəti yaratmağa ehtiyac yoxdur, yalnız yol nöqtələrini dəyişdirə bilərsiniz:

$ scale.updateRoute = funksiya (fromLat, fromLng, toLat, toLng) {$ kapsam.routingControl.getPlan (). setWaypoints ([L.latLng (fromLat, fromLng), L.latLng (toLat, toLng)]); };


Videoya baxın: اعادة التوجيه في مسار. كيفية طلب اعادة التوجيه من مسار (Sentyabr 2021).