X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/974e404a6e21e953354c38fc71338deb259f13ed..5ca24de0d04bef18353d3f0ecdd069d0bca34ce2:/app/assets/javascripts/index/directions.js diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index 356dc6271..0ac66d9d6 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -3,7 +3,7 @@ //= require_tree ./directions OSM.Directions = function (map) { - var routeRequest = null; // jqXHR object of an ongoing route request or null + let controller = null; // the AbortController for the current route request if a route request is in progress var chosenEngine; var popup = L.popup({ autoPanPadding: [100, 100] }); @@ -23,7 +23,7 @@ OSM.Directions = function (map) { var endpointDragCallback = function (dragging) { if (!map.hasLayer(polyline)) return; if (dragging && !chosenEngine.draggable) return; - if (dragging && routeRequest) return; + if (dragging && controller) return; getRoute(false, !dragging); }; @@ -109,7 +109,7 @@ OSM.Directions = function (map) { function getRoute(fitRoute, reportErrors) { // Cancel any route that is already in progress - if (routeRequest) routeRequest.abort(); + if (controller) controller.abort(); const points = endpoints.map(p => p.latlng); @@ -126,20 +126,8 @@ OSM.Directions = function (map) { // again. $("#sidebar_content").html($(".directions_form .loader_copy").html()); map.setSidebarOverlaid(false); - - routeRequest = chosenEngine.getRoute(points, function (err, route) { - routeRequest = null; - - if (err) { - map.removeLayer(polyline); - - if (reportErrors) { - $("#sidebar_content").html("