From e976f316b78355967a0deb2f78f0d5e4eb69ee47 Mon Sep 17 00:00:00 2001 From: J Guthrie Date: Sun, 7 Oct 2018 00:33:54 +0100 Subject: [PATCH 1/2] Convert degrees min-width to pixels min-width --- app/assets/javascripts/index/history.js | 30 ++++++++++++++----------- 1 file changed, 17 insertions(+), 13 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 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; - 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); + 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); } From 31c44617660dd6a483f1dbe9d407c6ae9915692a Mon Sep 17 00:00:00 2001 From: J Guthrie Date: Sun, 7 Oct 2018 00:52:11 +0100 Subject: [PATCH 2/2] Converted to dot notation - fixes jshint --- app/assets/javascripts/index/history.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/index/history.js b/app/assets/javascripts/index/history.js index d92e56db6..3fcc2f790 100644 --- a/app/assets/javascripts/index/history.js +++ b/app/assets/javascripts/index/history.js @@ -99,19 +99,19 @@ OSM.History = function(map) { if (changeset.bbox) { 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"], + 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); + minProjection.x -= ((minXGap - xGap) / 2); + maxProjection.x += ((minXGap - xGap) / 2); } if (yGap < minYGap) { - minProjection["y"] += ((minYGap - yGap) / 2); - maxProjection["y"] -= ((minYGap - yGap) / 2); + minProjection.y += ((minYGap - yGap) / 2); + maxProjection.y -= ((minYGap - yGap) / 2); } var minUnProjection = map.unproject(minProjection),