diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index 94f9bb1f0..ee195af41 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -32,6 +32,8 @@ OSM.Directions = function (map) { function Endpoint(input, iconUrl) { var endpoint = {}; + endpoint.input = input; + endpoint.marker = L.marker([0, 0], { icon: L.icon({ iconUrl: iconUrl, @@ -111,6 +113,20 @@ OSM.Directions = function (map) { return endpoint; } + $(".directions_form .reverse_directions").on("click", function() { + var input_from = endpoints[0].input.val(); + var input_to = endpoints[1].input.val(); + var latlng_from = endpoints[0].latlng; + var latlng_to = endpoints[1].latlng; + + endpoints[0].setLatLng(latlng_to); + endpoints[1].setLatLng(latlng_from); + endpoints[0].input.val(input_to); + endpoints[1].input.val(input_from); + + getRoute(); + }); + $(".directions_form .close").on("click", function(e) { e.preventDefault(); var route_from = endpoints[0].value; diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index 00e970e30..6df4c14ac 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -1002,6 +1002,11 @@ header .search_forms, vertical-align: middle; } } + + a.reverse_directions { + cursor: pointer; + margin: 0px 0px 5px 25px; + } } /* Rules for the map key which appears in the popout sidebar */ diff --git a/app/views/layouts/_search.html.erb b/app/views/layouts/_search.html.erb index 2637d28b2..98b3c6c54 100644 --- a/app/views/layouts/_search.html.erb +++ b/app/views/layouts/_search.html.erb @@ -23,6 +23,9 @@ <%= submit_tag t('site.search.submit_text'), :class => "routing_go", :data => { disable_with: false } %> +