From: Anton Khorev Date: Sun, 11 Aug 2024 03:18:26 +0000 (+0300) Subject: Remove latlng parameter from endpoint.setValue X-Git-Tag: live~39^2~5 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/bb9a8958fb5bbe630da5c4bfd592a96b259df5b3 Remove latlng parameter from endpoint.setValue --- diff --git a/app/assets/javascripts/index/directions-endpoint.js b/app/assets/javascripts/index/directions-endpoint.js index 59f0b929d..b475b9a05 100644 --- a/app/assets/javascripts/index/directions-endpoint.js +++ b/app/assets/javascripts/index/directions-endpoint.js @@ -55,7 +55,7 @@ OSM.DirectionsEndpoint = function Endpoint(map, input, iconUrl, dragCallback, ch endpoint.setValue(value); } - endpoint.setValue = function (value, latlng) { + endpoint.setValue = function (value) { endpoint.value = value; removeLatLng(); input.removeClass("is-invalid"); @@ -64,6 +64,9 @@ OSM.DirectionsEndpoint = function Endpoint(map, input, iconUrl, dragCallback, ch if (endpoint.geocodeRequest) endpoint.geocodeRequest.abort(); delete endpoint.geocodeRequest; + var coordinatesMatch = value.match(/^\s*([+-]?\d+(?:\.\d*)?)(?:\s+|\s*[/,]\s*)([+-]?\d+(?:\.\d*)?)\s*$/); + var latlng = coordinatesMatch && L.latLng(coordinatesMatch[1], coordinatesMatch[2]); + if (latlng) { setLatLng(latlng); setInputValueFromLatLng(latlng); diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index 391c1f931..18f5b0b94 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -287,17 +287,14 @@ OSM.Directions = function (map) { var ll = map.containerPointToLatLng(pt); var precision = OSM.zoomPrecision(map.getZoom()); var value = ll.lat.toFixed(precision) + ", " + ll.lng.toFixed(precision); - var llWithPrecision = L.latLng(ll.lat.toFixed(precision), ll.lng.toFixed(precision)); - endpoints[type === "from" ? 0 : 1].setValue(value, llWithPrecision); + endpoints[type === "from" ? 0 : 1].setValue(value); }); endpoints[0].enable(); endpoints[1].enable(); var params = Qs.parse(location.search.substring(1)), - route = (params.route || "").split(";"), - from = route[0] && L.latLng(route[0].split(",")), - to = route[1] && L.latLng(route[1].split(",")); + route = (params.route || "").split(";"); if (params.engine) { var engineIndex = findEngine(params.engine); @@ -307,10 +304,10 @@ OSM.Directions = function (map) { } } - endpoints[0].setValue(params.from || "", from); - endpoints[1].setValue(params.to || "", to); + endpoints[0].setValue(params.from || route[0] || ""); + endpoints[1].setValue(params.to || route[1] || ""); - map.setSidebarOverlaid(!from || !to); + map.setSidebarOverlaid(!endpoints[0].latlng || !endpoints[1].latlng); }; page.load = function () {