diff --git a/src/ol/tilegrid/tilegrid.js b/src/ol/tilegrid/tilegrid.js index 7b65dd5cdb..52d449d084 100644 --- a/src/ol/tilegrid/tilegrid.js +++ b/src/ol/tilegrid/tilegrid.js @@ -58,6 +58,9 @@ ol.tilegrid.TileGrid = function(tileGridOptions) { this.origins_ = tileGridOptions.origins; goog.asserts.assert(this.origins_.length == this.resolutions_.length); } + goog.asserts.assert( + (goog.isNull(this.origin_) && !goog.isNull(this.origins_)) || + (!goog.isNull(this.origin_) && goog.isNull(this.origins_))); /** * @private diff --git a/test/spec/ol/tilegrid.test.js b/test/spec/ol/tilegrid.test.js index 1c93439115..bb118dd1d8 100644 --- a/test/spec/ol/tilegrid.test.js +++ b/test/spec/ol/tilegrid.test.js @@ -68,6 +68,20 @@ describe('ol.tilegrid.TileGrid', function() { }); }); + describe('create with both origin and multiple origins', function() { + it('throws an exception', function() { + expect(function() { + return new ol.tilegrid.TileGrid({ + resolutions: [100, 50, 25, 10], + extent: extent, + origins: [origin, origin, origin, origin], + origin: origin, + tileSize: tileSize + }); + }).toThrow(); + }); + }); + describe('create with too few origins', function() { it('throws an exception', function() { expect(function() {