Swap cached reverse geocodes when reversing directions

Do this instead of putting reversed input values into url.
This commit is contained in:
Anton Khorev 2024-08-12 08:09:54 +03:00
parent cbf53088a2
commit a1051b418e
2 changed files with 10 additions and 2 deletions

View file

@ -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(); // <sw lon>,<sw lat>,<ne lon>,<ne lat>
var geocodeUrl = OSM.NOMINATIM_URL + "search?q=" + encodeURIComponent(endpoint.value) + "&format=json&viewbox=" + viewbox;

View file

@ -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
}));
});