diff --git a/app/assets/javascripts/index/directions-endpoint.js b/app/assets/javascripts/index/directions-endpoint.js index 17aa382eff..0e2eb0a8cc 100644 --- a/app/assets/javascripts/index/directions-endpoint.js +++ b/app/assets/javascripts/index/directions-endpoint.js @@ -86,6 +86,15 @@ OSM.DirectionsEndpoint = function Endpoint(map, input, iconUrl, dragCallback, ch } }; + endpoint.swapCachedReverseGeocodes = function (otherEndpoint) { + var g0 = endpoint.cachedReverseGeocode; + var g1 = otherEndpoint.cachedReverseGeocode; + delete endpoint.cachedReverseGeocode; + delete otherEndpoint.cachedReverseGeocode; + if (g0) otherEndpoint.cachedReverseGeocode = g0; + if (g1) endpoint.cachedReverseGeocode = g1; + }; + function getGeocode() { var viewbox = map.getBounds().toBBoxString(); // ,,, var geocodeUrl = OSM.NOMINATIM_URL + "search?q=" + encodeURIComponent(endpoint.value) + "&format=json&viewbox=" + viewbox; diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index 18f5b0b943..df56771055 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -65,10 +65,9 @@ OSM.Directions = function (map) { if (coordTo) { routeTo = coordTo.lat + "," + coordTo.lng; } + endpoints[0].swapCachedReverseGeocodes(endpoints[1]); OSM.router.route("/directions?" + Qs.stringify({ - from: $("#route_to").val(), - to: $("#route_from").val(), route: routeTo + ";" + routeFrom })); });