From d5841403c44a6b74ef2200c68b4fd08cd65dbbb7 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 12 Oct 2012 15:14:06 -0700 Subject: [PATCH] Calculate scale in export --- app/assets/javascripts/index/export.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/index/export.js b/app/assets/javascripts/index/export.js index 46cd105e4..bff1ab239 100644 --- a/app/assets/javascripts/index/export.js +++ b/app/assets/javascripts/index/export.js @@ -61,6 +61,16 @@ $(document).ready(function () { L.latLng($("#maxlat").val(), $("#maxlon").val())); } + function getScale() { + var bounds = map.getBounds(), + centerLat = bounds.getCenter().lat, + halfWorldMeters = 6378137 * Math.PI * Math.cos(centerLat * Math.PI / 180), + meters = halfWorldMeters * (bounds.getNorthEast().lng - bounds.getSouthWest().lng) / 180, + pixelsPerMeter = map.getSize().x / meters, + metersPerPixel = 1 / (92 * 39.3701); + return Math.round(1 / (pixelsPerMeter * metersPerPixel)); + } + function getMercatorBounds() { var bounds = getBounds(); return L.bounds(L.CRS.EPSG3857.project(bounds.getSouthWest()), @@ -241,7 +251,7 @@ $(document).ready(function () { } if ($("#format_mapnik").prop("checked")) { -// $("#mapnik_scale").val(roundScale(map.getScale())); + $("#mapnik_scale").val(getScale()); $("#export_mapnik").show(); mapnikSizeChanged(); -- 2.43.2