[Libreoffice-commits] online.git: loleaflet/src
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Mon Jul 23 20:06:32 UTC 2018
loleaflet/src/layer/tile/TileLayer.js | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
New commits:
commit f5de78f920ec6f996dd4fbc386d828616733047c
Author: Henry Castro <hcastro at collabora.com>
AuthorDate: Mon Apr 16 17:17:08 2018 -0400
Commit: Henry Castro <hcastro at collabora.com>
CommitDate: Mon Jul 23 16:05:53 2018 -0400
loleaflet: fix when document window zooms out until it disappears
Change-Id: If0f7234429130aed47dbc9156fde2e125680638f
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 9d8cc9e8e..f7cee95bd 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -2141,20 +2141,19 @@ L.TileLayer = L.GridLayer.extend({
},
_fitWidthZoom: function (e, maxZoom) {
+ if (isNaN(this._docWidthTwips)) { return; }
var size = e ? e.newSize : this._map.getSize();
var widthTwips = size.x * this._map.options.tileWidthTwips / this._tileSize;
- maxZoom = maxZoom ? maxZoom : this._map.getZoom();
+ var ratio = widthTwips / this._docWidthTwips;
+ maxZoom = maxZoom ? maxZoom : this.options.maxZoom;
// 'fit width zoom' has no use in spreadsheets, ignore it there
if (this._docType !== 'spreadsheet') {
var crsScale = this._map.options.crs.scale(1);
- if (this._docWidthTwips > 0)
- {
- var ratio = widthTwips / this._docWidthTwips;
- var zoom = this._map.getZoom() + Math.floor(Math.log(ratio) / Math.log(crsScale));
+ var zoom = 10 + Math.floor(Math.log(ratio) / Math.log(crsScale));
- zoom = Math.max(1, zoom);
- zoom = Math.min(maxZoom, zoom);
+ zoom = Math.min(maxZoom, Math.max(1, zoom));
+ if (this._docWidthTwips * this._map.getZoomScale(zoom, 10) < widthTwips) {
this._map.setZoom(zoom, {animate: false});
}
}
More information about the Libreoffice-commits
mailing list