From e976f316b78355967a0deb2f78f0d5e4eb69ee47 Mon Sep 17 00:00:00 2001 From: J Guthrie Date: Sun, 7 Oct 2018 00:33:54 +0100 Subject: [PATCH 1/1] Convert degrees min-width to pixels min-width --- app/assets/javascripts/index/history.js | 32 ++++++++++++++----------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/app/assets/javascripts/index/history.js b/app/assets/javascripts/index/history.js index 9babb6e32..d92e56db6 100644 --- a/app/assets/javascripts/index/history.js +++ b/app/assets/javascripts/index/history.js @@ -97,24 +97,28 @@ OSM.History = function(map) { $("[data-changeset]").each(function () { var changeset = $(this).data('changeset'); if (changeset.bbox) { - var latWidth = changeset.bbox.maxlat - changeset.bbox.minlat, - lonWidth = changeset.bbox.maxlon - changeset.bbox.minlon, - minLatWidth = 0.0004, - minLonWidth = 0.0008; - - var bounds = [[changeset.bbox.minlat, changeset.bbox.minlon], - [changeset.bbox.maxlat, changeset.bbox.maxlon]]; - - if (latWidth < minLatWidth) { - bounds[0][0] -= ((minLatWidth - latWidth) / 2); - bounds[1][0] += ((minLatWidth - latWidth) / 2); + var minProjection = map.project(L.latLng(changeset.bbox.minlat, changeset.bbox.minlon)), + maxProjection = map.project(L.latLng(changeset.bbox.maxlat, changeset.bbox.maxlon)), + xGap = maxProjection["x"] - minProjection["x"], + yGap = minProjection["y"] - maxProjection["y"], + minXGap = 40, // Min width/height of changeset in pixels + minYGap = 40; + + if (xGap < minXGap) { + minProjection["x"] -= ((minXGap - xGap) / 2); + maxProjection["x"] += ((minXGap - xGap) / 2); } - if (lonWidth < minLonWidth) { - bounds[0][1] -= ((minLonWidth - lonWidth) / 2); - bounds[1][1] += ((minLonWidth - lonWidth) / 2); + if (yGap < minYGap) { + minProjection["y"] += ((minYGap - yGap) / 2); + maxProjection["y"] -= ((minYGap - yGap) / 2); } + var minUnProjection = map.unproject(minProjection), + maxUnProjection = map.unproject(maxProjection), + bounds = [minUnProjection, + maxUnProjection]; + changeset.bounds = L.latLngBounds(bounds); changesets.push(changeset); } -- 2.43.2