From 609cedc4998805d38d1607e68c67e491ce589114 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Sat, 3 Feb 2018 16:39:39 +0000 Subject: [PATCH] Allow lat/lon from the URL to take precedence when routing --- app/assets/javascripts/index/directions.js | 25 +++++++++++----------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index 093afe30a..ce8ac9c1c 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -60,11 +60,16 @@ OSM.Directions = function (map) { endpoint.setValue(value); }); - endpoint.setValue = function(value) { + endpoint.setValue = function(value, latlng) { endpoint.value = value; delete endpoint.latlng; input.val(value); - endpoint.getGeocode(); + + if (latlng) { + endpoint.setLatLng(latlng); + } else { + endpoint.getGeocode(); + } }; endpoint.getGeocode = function() { @@ -359,22 +364,18 @@ OSM.Directions = function (map) { }); var params = querystring.parse(location.search.substring(1)), - route = (params.route || '').split(';'); + route = (params.route || '').split(';'), + from = route[0] && L.latLng(route[0].split(',')), + to = route[1] && L.latLng(route[1].split(',')); if (params.engine) { setEngine(params.engine); } - endpoints[0].setValue(params.from || ""); - endpoints[1].setValue(params.to || ""); - - var o = route[0] && L.latLng(route[0].split(',')), - d = route[1] && L.latLng(route[1].split(',')); - - if (o) endpoints[0].setLatLng(o); - if (d) endpoints[1].setLatLng(d); + endpoints[0].setValue(params.from || "", from); + endpoints[1].setValue(params.to || "", to); - map.setSidebarOverlaid(!o || !d); + map.setSidebarOverlaid(!from || !to); getRoute(); }; -- 2.43.2