Merge pull request #3826 from klokantech/xyzsource-tilegrid
Allow custom tileGrid in ol.source.XYZ
This commit is contained in:
@@ -5358,6 +5358,7 @@ olx.source.WMTSOptions.prototype.wrapX;
|
||||
* projection: ol.proj.ProjectionLike,
|
||||
* maxZoom: (number|undefined),
|
||||
* minZoom: (number|undefined),
|
||||
* tileGrid: (ol.tilegrid.TileGrid|undefined),
|
||||
* tileLoadFunction: (ol.TileLoadFunctionType|undefined),
|
||||
* tilePixelRatio: (number|undefined),
|
||||
* tileSize: (number|ol.Size|undefined),
|
||||
@@ -5422,6 +5423,14 @@ olx.source.XYZOptions.prototype.maxZoom;
|
||||
olx.source.XYZOptions.prototype.minZoom;
|
||||
|
||||
|
||||
/**
|
||||
* Tile grid.
|
||||
* @type {ol.tilegrid.TileGrid}
|
||||
* @api
|
||||
*/
|
||||
olx.source.XYZOptions.prototype.tileGrid;
|
||||
|
||||
|
||||
/**
|
||||
* Optional function to load a tile given a URL.
|
||||
* @type {ol.TileLoadFunctionType|undefined}
|
||||
|
||||
@@ -19,11 +19,12 @@ ol.source.XYZ = function(options) {
|
||||
var projection = goog.isDef(options.projection) ?
|
||||
options.projection : 'EPSG:3857';
|
||||
|
||||
var tileGrid = ol.tilegrid.createXYZ({
|
||||
extent: ol.tilegrid.extentFromProjection(projection),
|
||||
maxZoom: options.maxZoom,
|
||||
tileSize: options.tileSize
|
||||
});
|
||||
var tileGrid = goog.isDef(options.tileGrid) ? options.tileGrid :
|
||||
ol.tilegrid.createXYZ({
|
||||
extent: ol.tilegrid.extentFromProjection(projection),
|
||||
maxZoom: options.maxZoom,
|
||||
tileSize: options.tileSize
|
||||
});
|
||||
|
||||
goog.base(this, {
|
||||
attributions: options.attributions,
|
||||
|
||||
@@ -5,6 +5,14 @@ describe('ol.source.XYZ', function() {
|
||||
|
||||
describe('constructor', function() {
|
||||
|
||||
it('can be constructed with a custom tile grid', function() {
|
||||
var tileGrid = ol.tilegrid.createXYZ();
|
||||
var tileSource = new ol.source.XYZ({
|
||||
tileGrid: tileGrid
|
||||
});
|
||||
expect(tileSource.getTileGrid()).to.be(tileGrid);
|
||||
});
|
||||
|
||||
it('can be constructed with a custom tile size', function() {
|
||||
var tileSource = new ol.source.XYZ({
|
||||
tileSize: 512
|
||||
|
||||
Reference in New Issue
Block a user