X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/4b2c64fbed7ed3420e10d1f1a7eaef26f0e4e025..5d3ecffa28510c867665001a7615559a185869c6:/app/assets/javascripts/index/directions.js diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index 6149228ec..a141045a3 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -108,7 +108,7 @@ OSM.Directions = function (map) { return endpoint; } - $(".directions_form a.directions_close").on("click", function(e) { + $(".directions_form .close").on("click", function(e) { e.preventDefault(); var route_from = endpoints[0].value; if (route_from) { @@ -145,6 +145,9 @@ OSM.Directions = function (map) { } function getRoute() { + // Cancel any route that is already in progress + if (awaitingRoute) awaitingRoute.abort(); + // go fetch geocodes for any endpoints which have not already // been geocoded. for (var ep_i = 0; ep_i < 2; ++ep_i) { @@ -177,17 +180,16 @@ OSM.Directions = function (map) { // just using it in-place and replacing it in case it has to be used // again. $('#sidebar_content').html($('.directions_form .loader_copy').html()); - awaitingRoute = true; map.setSidebarOverlaid(false); - chosenEngine.getRoute([o, d], function (err, route) { - awaitingRoute = false; + awaitingRoute = chosenEngine.getRoute([o, d], function (err, route) { + awaitingRoute = null; if (err) { map.removeLayer(polyline); if (!dragging) { - alert(I18n.t('javascripts.directions.errors.no_route')); + $('#sidebar_content').html('
' + I18n.t('javascripts.directions.errors.no_route') + '
'); } return; @@ -301,7 +303,7 @@ OSM.Directions = function (map) { $(".routing_marker").on('dragstart', function (e) { e.originalEvent.dataTransfer.effectAllowed = 'move'; - e.originalEvent.dataTransfer.setData('id', this.id); + e.originalEvent.dataTransfer.setData('type', $(this).data('type')); var img = $("