diff --git a/src/ol/base/coveragearea.js b/src/ol/base/coveragearea.js index d925452f48..aea8c3a067 100644 --- a/src/ol/base/coveragearea.js +++ b/src/ol/base/coveragearea.js @@ -6,17 +6,16 @@ goog.require('ol.Extent'); /** * @constructor - * @extends {ol.Extent} - * @param {number} minX Minimum X. - * @param {number} minY Minimum Y. - * @param {number} maxX Maximum X. - * @param {number} maxY Maximum Y. + * @param {ol.Extent} extent Extent. * @param {number} minZ Minimum Z. * @param {number} maxZ Maximum Z. */ -ol.CoverageArea = function(minX, minY, maxX, maxY, minZ, maxZ) { +ol.CoverageArea = function(extent, minZ, maxZ) { - goog.base(this, minX, minY, maxX, maxY); + /** + * @type {ol.Extent} + */ + this.extent = extent; /** * @type {number} @@ -29,7 +28,6 @@ ol.CoverageArea = function(minX, minY, maxX, maxY, minZ, maxZ) { this.maxZ = maxZ; }; -goog.inherits(ol.CoverageArea, ol.Extent); /** @@ -38,17 +36,15 @@ goog.inherits(ol.CoverageArea, ol.Extent); * @return {boolean} Intersects. */ ol.CoverageArea.prototype.intersectsWithZ = function(extent, z) { - return this.intersects(extent) && this.minZ <= z && z <= this.maxZ; + return this.extent.intersects(extent) && this.minZ <= z && z <= this.maxZ; }; /** - * @override * @param {ol.TransformFunction} transformFn Transform. * @return {ol.CoverageArea} Transformed coverage area. */ ol.CoverageArea.prototype.transform = function(transformFn) { - var min = transformFn(new ol.Coordinate(this.minX, this.minY)); - var max = transformFn(new ol.Coordinate(this.maxX, this.maxY)); - return new ol.CoverageArea(min.x, min.y, max.x, max.y, this.minZ, this.maxZ); + var extent = this.extent.transform(transformFn); + return new ol.CoverageArea(extent, this.minZ, this.maxZ); }; diff --git a/src/ol/tile/bingmaps.js b/src/ol/tile/bingmaps.js index 84b4954f2a..3ebd9dbc78 100644 --- a/src/ol/tile/bingmaps.js +++ b/src/ol/tile/bingmaps.js @@ -162,10 +162,10 @@ ol.tilestore.BingMaps.prototype.handleImageryMetadataResponse = imageryProvider.coverageAreas, function(coverageArea) { var bbox = coverageArea.bbox; + var extent = new ol.Extent(bbox[0], bbox[1], bbox[2], bbox[3]); var minZ = coverageArea.zoomMin; var maxZ = coverageArea.zoomMax; - return new ol.CoverageArea( - bbox[0], bbox[1], bbox[2], bbox[3], minZ, maxZ); + return new ol.CoverageArea(extent, minZ, maxZ); }); return new ol.Attribution(html, coverageAreas, projection); });