From 992870e2d24ea297ff658ee9cd6f39d4a71d9c0e Mon Sep 17 00:00:00 2001 From: Bart van den Eijnden Date: Wed, 9 Dec 2015 15:27:20 +0100 Subject: [PATCH] Allow specifying non default DPI on ol.source.TileArcGISRest --- src/ol/source/tilearcgisrestsource.js | 4 +++- test/spec/ol/source/tilearcgisrestsource.test.js | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ol/source/tilearcgisrestsource.js b/src/ol/source/tilearcgisrestsource.js index 47ec86fd0f..1f05c3812d 100644 --- a/src/ol/source/tilearcgisrestsource.js +++ b/src/ol/source/tilearcgisrestsource.js @@ -102,7 +102,9 @@ ol.source.TileArcGISRest.prototype.getRequestUrl_ = params['BBOX'] = tileExtent.join(','); params['BBOXSR'] = srid; params['IMAGESR'] = srid; - params['DPI'] = Math.round(90 * pixelRatio); + params['DPI'] = Math.round( + params['DPI'] ? params['DPI'] * pixelRatio : 90 * pixelRatio + ); var url; if (urls.length == 1) { diff --git a/test/spec/ol/source/tilearcgisrestsource.test.js b/test/spec/ol/source/tilearcgisrestsource.test.js index dc234b1df2..f0277f6f15 100644 --- a/test/spec/ol/source/tilearcgisrestsource.test.js +++ b/test/spec/ol/source/tilearcgisrestsource.test.js @@ -43,6 +43,16 @@ describe('ol.source.TileArcGISRest', function() { expect(queryData.get('DPI')).to.be('101'); }); + it('takes DPI from params if specified', function() { + options.params.DPI = 96; + var source = new ol.source.TileArcGISRest(options); + var tile = source.getTile(3, 2, -7, 1.12, ol.proj.get('EPSG:3857')); + var uri = new goog.Uri(tile.src_); + var queryData = uri.getQueryData(); + expect(queryData.get('DPI')).to.be('108'); + delete options.params.DPI; + }); + it('returns a tile with the expected URL with url list', function() { options.urls = ['http://test1.com/MapServer',