]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/5694'
authorTom Hughes <tom@compton.nu>
Thu, 20 Feb 2025 22:08:02 +0000 (22:08 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 20 Feb 2025 22:08:02 +0000 (22:08 +0000)
app/assets/javascripts/index/directions.js
config/locales/en.yml

index 3d6da84fc8d279d51e723dc0babfd3f721833ebb..3d52ec9fb6b19a853e768f1bf3575d62f4db7e23 100644 (file)
@@ -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(`<p class="text-center"><a href="${downloadURL}" download="${
+        I18n.t("javascripts.directions.filename")
+      }">${
+        I18n.t("javascripts.directions.download")
+      }</a></p>`);
+
       $("#sidebar_content").append("<p class=\"text-center\">" +
         I18n.t("javascripts.directions.instructions.courtesy", { link: chosenEngine.creditline }) +
         "</p>");
index 0320bc2a698ca2058911a1608b48a997fdc3fdb9..dd7ae4033841195b001ab689f0757bdc5d50bd32 100644 (file)
@@ -3312,6 +3312,8 @@ en:
           ninth: "9th"
           tenth: "10th"
       time: "Time"
+      download: "Download route as GeoJSON"
+      filename: "route"
     query:
       node: Node
       way: Way