Merge remote-tracking branch 'upstream/pull/2018'

This commit is contained in:
Tom Hughes 2018-10-11 18:47:47 +01:00
commit 1aa63d92bc

View file

@ -97,24 +97,28 @@ OSM.History = function(map) {
$("[data-changeset]").each(function () { $("[data-changeset]").each(function () {
var changeset = $(this).data('changeset'); var changeset = $(this).data('changeset');
if (changeset.bbox) { if (changeset.bbox) {
var latWidth = changeset.bbox.maxlat - changeset.bbox.minlat, var minProjection = map.project(L.latLng(changeset.bbox.minlat, changeset.bbox.minlon)),
lonWidth = changeset.bbox.maxlon - changeset.bbox.minlon, maxProjection = map.project(L.latLng(changeset.bbox.maxlat, changeset.bbox.maxlon)),
minLatWidth = 0.0004, xGap = maxProjection.x - minProjection.x,
minLonWidth = 0.0008; yGap = minProjection.y - maxProjection.y,
minXGap = 40, // Min width/height of changeset in pixels
minYGap = 40;
var bounds = [[changeset.bbox.minlat, changeset.bbox.minlon], if (xGap < minXGap) {
[changeset.bbox.maxlat, changeset.bbox.maxlon]]; minProjection.x -= ((minXGap - xGap) / 2);
maxProjection.x += ((minXGap - xGap) / 2);
if (latWidth < minLatWidth) {
bounds[0][0] -= ((minLatWidth - latWidth) / 2);
bounds[1][0] += ((minLatWidth - latWidth) / 2);
} }
if (lonWidth < minLonWidth) { if (yGap < minYGap) {
bounds[0][1] -= ((minLonWidth - lonWidth) / 2); minProjection.y += ((minYGap - yGap) / 2);
bounds[1][1] += ((minLonWidth - lonWidth) / 2); maxProjection.y -= ((minYGap - yGap) / 2);
} }
var minUnProjection = map.unproject(minProjection),
maxUnProjection = map.unproject(maxProjection),
bounds = [minUnProjection,
maxUnProjection];
changeset.bounds = L.latLngBounds(bounds); changeset.bounds = L.latLngBounds(bounds);
changesets.push(changeset); changesets.push(changeset);
} }