]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/export.js
Merge remote-tracking branch 'upstream/pull/5064'
[rails.git] / app / assets / javascripts / index / export.js
index 1efac1b31baf6ea1f007a4d6b32da847677a918a..3b23b9cbf3abba23e53375f89cabf95eeea2d9b3 100644 (file)
@@ -1,4 +1,4 @@
-OSM.Export = function(map) {
+OSM.Export = function (map) {
   var page = {};
 
   var locationFilter = new L.LocationFilter({
@@ -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",
-        "http://overpass-api.de/api/map?bbox=" +
-        $("#minlon").val() + "," + $("#minlat").val() + "," +
-        $("#maxlon").val() + "," + $("#maxlat").val());
+                               "https://overpass-api.de/api/map?bbox=" +
+                               truncated.map(p => p.reverse()).join());
   }
 
   function validateControls() {
@@ -57,12 +57,11 @@ OSM.Export = function(map) {
     if (getBounds().getSize() > OSM.MAX_REQUEST_AREA) e.preventDefault();
   }
 
-  page.pushstate = page.popstate = function(path) {
-    $("#export_tab").addClass("current");
+  page.pushstate = page.popstate = function (path) {
     OSM.loadSidebarContent(path, page.load);
   };
 
-  page.load = function() {
+  page.load = function () {
     map
       .addLayer(locationFilter)
       .on("moveend", update);
@@ -75,12 +74,10 @@ OSM.Export = function(map) {
     return map.getState();
   };
 
-  page.unload = function() {
+  page.unload = function () {
     map
       .removeLayer(locationFilter)
       .off("moveend", update);
-
-    $("#export_tab").removeClass("current");
   };
 
   return page;