From b381536b2a02a5cf4d5bd63f6a2bcbae80013847 Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 16 Dec 2013 10:31:48 +0100 Subject: [PATCH] Add ol.source.MapGuide.getScale function --- src/ol/source/mapguidesource.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/ol/source/mapguidesource.js b/src/ol/source/mapguidesource.js index 0a0d51cb1e..8389f17f10 100644 --- a/src/ol/source/mapguidesource.js +++ b/src/ol/source/mapguidesource.js @@ -98,20 +98,20 @@ ol.source.MapGuide.prototype.getImage = /** * @param {ol.Extent} extent The map extents. * @param {ol.Size} size the viewport size. + * @param {number} metersPerUnit The meters-per-unit value. + * @param {number} dpi The display resolution. * @return {number} The computed map scale. */ -ol.source.MapGuide.prototype.getScale = function(extent, size) { +ol.source.MapGuide.getScale = function(extent, size, metersPerUnit, dpi) { var mcsW = ol.extent.getWidth(extent); var mcsH = ol.extent.getHeight(extent); var devW = size[0]; var devH = size[1]; - var dpi = this.displayDpi_; - var mpu = this.metersPerUnit_; var mpp = 0.0254 / dpi; if (devH * mcsW > devW * mcsH) { - return mcsW * mpu / (devW * mpp); // width limited + return mcsW * metersPerUnit / (devW * mpp); // width limited } else { - return mcsH * mpu / (devH * mpp); // height limited + return mcsH * metersPerUnit / (devH * mpp); // height limited } }; @@ -126,7 +126,8 @@ ol.source.MapGuide.prototype.getScale = function(extent, size) { */ ol.source.MapGuide.prototype.getUrl = function(baseUrl, params, extent, size, projection) { - var scale = this.getScale(extent, size); + var scale = ol.source.MapGuide.getScale(extent, size, + this.metersPerUnit_, this.displayDpi_); var center = ol.extent.getCenter(extent); var baseParams = { 'OPERATION': this.useOverlay_ ? 'GETDYNAMICMAPOVERLAYIMAGE' : 'GETMAPIMAGE',