X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/f6695c9079f4eeeecaa796c879868f797f97cd55..7a933cf928cfca83e5448c699fa84d1e209ba0a7:/app/assets/javascripts/index/directions.js diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index 2a1e045da..03e023bc1 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -26,9 +26,14 @@ OSM.Directions = function (map) { Endpoint($("input[name='route_to']"), OSM.MARKER_RED) ]; + var expiry = new Date(); + expiry.setYear(expiry.getFullYear() + 10); + function Endpoint(input, iconUrl) { var endpoint = {}; + endpoint.input = input; + endpoint.marker = L.marker([0, 0], { icon: L.icon({ iconUrl: iconUrl, @@ -108,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; @@ -207,8 +226,13 @@ OSM.Directions = function (map) { '' + I18n.t('javascripts.directions.directions') + '

' + I18n.t('javascripts.directions.distance') + ': ' + formatDistance(route.distance) + '. ' + - I18n.t('javascripts.directions.time') + ': ' + formatTime(route.time) + '.

' + - ''; + I18n.t('javascripts.directions.time') + ': ' + formatTime(route.time) + '.'; + if (typeof route.ascend !== 'undefined' && typeof route.descend !== 'undefined') { + html += '
' + + I18n.t('javascripts.directions.ascend') + ': ' + Math.round(route.ascend) + 'm. ' + + I18n.t('javascripts.directions.descend') + ': ' + Math.round(route.descend) +'m.'; + } + html += '

'; $('#sidebar_content') .html(html); @@ -287,10 +311,15 @@ OSM.Directions = function (map) { select.append(""); }); - setEngine('osrm_car'); + var chosenEngineId = $.cookie('_osm_directions_engine'); + if(!chosenEngineId) { + chosenEngineId = 'osrm_car'; + } + setEngine(chosenEngineId); select.on("change", function (e) { chosenEngine = engines[e.target.selectedIndex]; + $.cookie('_osm_directions_engine', chosenEngine.id, { expires: expiry, path: '/' }); if (map.hasLayer(polyline)) { getRoute(); }