X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/1f7bd08f4a8a6a626a0c1d7ed60f2dcd6a6801e8..c50e4f50c4fef0b11970202d3c7f95cdc5b620ba:/app/assets/javascripts/index/export.js diff --git a/app/assets/javascripts/index/export.js b/app/assets/javascripts/index/export.js index 1efac1b31..05d90381b 100644 --- a/app/assets/javascripts/index/export.js +++ b/app/assets/javascripts/index/export.js @@ -1,7 +1,7 @@ -OSM.Export = function(map) { - var page = {}; +OSM.Export = function (map) { + 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", - "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;