]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/export.js
Merge remote-tracking branch 'upstream/pull/3767'
[rails.git] / app / assets / javascripts / index / export.js
index b9050d8a12a01a95f5678841fc57c31c6aad8d10..05d90381bb9d9b586c9bcd28cc92738be86dd8a6 100644 (file)
@@ -1,7 +1,7 @@
 OSM.Export = function (map) {
-  var page = {};
+  const page = {};
 
-  var locationFilter = new L.LocationFilter({
+  const locationFilter = new L.LocationFilter({
     enableButton: false,
     adjustButton: false
   }).on("change", update);
@@ -13,7 +13,7 @@ OSM.Export = function (map) {
   }
 
   function boundsChanged() {
-    var bounds = getBounds();
+    const bounds = getBounds();
     map.fitBounds(bounds);
     locationFilter.setBounds(bounds);
     locationFilter.enable();
@@ -36,16 +36,16 @@ OSM.Export = function (map) {
   }
 
   function setBounds(bounds) {
-    var precision = OSM.zoomPrecision(map.getZoom());
-    $("#minlon").val(bounds.getWest().toFixed(precision));
-    $("#minlat").val(bounds.getSouth().toFixed(precision));
-    $("#maxlon").val(bounds.getEast().toFixed(precision));
-    $("#maxlat").val(bounds.getNorth().toFixed(precision));
+    const truncated = [bounds.getSouthWest(), bounds.getNorthEast()]
+      .map(c => OSM.cropLocation(c, map.getZoom()));
+    $("#minlon").val(truncated[0][1]);
+    $("#minlat").val(truncated[0][0]);
+    $("#maxlon").val(truncated[1][1]);
+    $("#maxlat").val(truncated[1][0]);
 
     $("#export_overpass").attr("href",
                                "https://overpass-api.de/api/map?bbox=" +
-                               $("#minlon").val() + "," + $("#minlat").val() + "," +
-                               $("#maxlon").val() + "," + $("#maxlat").val());
+                               truncated.map(p => p.reverse()).join());
   }
 
   function validateControls() {
@@ -58,7 +58,6 @@ OSM.Export = function (map) {
   }
 
   page.pushstate = page.popstate = function (path) {
-    $("#export_tab").addClass("current");
     OSM.loadSidebarContent(path, page.load);
   };
 
@@ -79,8 +78,6 @@ OSM.Export = function (map) {
     map
       .removeLayer(locationFilter)
       .off("moveend", update);
-
-    $("#export_tab").removeClass("current");
   };
 
   return page;