From cf896fa0a7f92c3243d840ec57b820f7f1e9ad0c Mon Sep 17 00:00:00 2001 From: J Guthrie Date: Wed, 3 Oct 2018 22:07:20 +0100 Subject: [PATCH 1/1] Updated min bounds algorithm --- app/assets/javascripts/index/history.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/index/history.js b/app/assets/javascripts/index/history.js index 71a94aef0..30d33c657 100644 --- a/app/assets/javascripts/index/history.js +++ b/app/assets/javascripts/index/history.js @@ -97,17 +97,26 @@ OSM.History = function(map) { $("[data-changeset]").each(function () { var changeset = $(this).data('changeset'); if (changeset.bbox) { - var latModifier = 0; - var lonModifier = 0; + var latWidth = changeset.bbox.maxlat - changeset.bbox.minlat; + var lonWidth = changeset.bbox.maxlon - changeset.bbox.minlon; + var minLatWidth = 0.0004; + var minLonWidth = 0.0008; - if (changeset.bbox.minlat === changeset.bbox.maxlat || changeset.bbox.minlon === changeset.bbox.maxlon) { - latModifier = 0.0001; - lonModifier = 0.0002; + 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 (lonWidth < minLonWidth) { + bounds[0][1] -= ((minLonWidth - lonWidth) / 2); + bounds[1][1] += ((minLonWidth - lonWidth) / 2); } changeset.bounds = L.latLngBounds( - [changeset.bbox.minlat - latModifier, changeset.bbox.minlon - lonModifier], - [changeset.bbox.maxlat + latModifier, changeset.bbox.maxlon + lonModifier]); + bounds); changesets.push(changeset); } }); -- 2.43.2