From: Tom Hughes Date: Thu, 20 Feb 2025 22:08:02 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/pull/5694' X-Git-Tag: live~7 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/51a2d85053b67b2bc842fa45ac8eb998f8585add?hp=cf9831c0af4ba06d246176a763c6346259aa6e36 Merge remote-tracking branch 'upstream/pull/5694' --- diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index 3d6da84fc..3d52ec9fb 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -36,6 +36,8 @@ OSM.Directions = function (map) { OSM.DirectionsEndpoint(map, $("input[name='route_to']"), OSM.MARKER_RED, endpointDragCallback, endpointChangeCallback) ]; + let downloadURL = null; + const expiry = new Date(); expiry.setYear(expiry.getFullYear() + 10); @@ -189,6 +191,16 @@ OSM.Directions = function (map) { turnByTurnTable.append(row); }); + const blob = new Blob([JSON.stringify(polyline.toGeoJSON())], { type: "application/json" }); + URL.revokeObjectURL(downloadURL); + downloadURL = URL.createObjectURL(blob); + + $("#sidebar_content").append(`

${ + I18n.t("javascripts.directions.download") + }

`); + $("#sidebar_content").append("

" + I18n.t("javascripts.directions.instructions.courtesy", { link: chosenEngine.creditline }) + "

"); diff --git a/config/locales/en.yml b/config/locales/en.yml index 0320bc2a6..dd7ae4033 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -3312,6 +3312,8 @@ en: ninth: "9th" tenth: "10th" time: "Time" + download: "Download route as GeoJSON" + filename: "route" query: node: Node way: Way