Merge pull request #8642 from dimin/master

fixes for optional key passing, issue #8067 for tile sources
This commit is contained in:
Tim Schaub
2018-11-06 08:56:25 -07:00
committed by GitHub
3 changed files with 14 additions and 5 deletions

View File

@@ -23,6 +23,7 @@ import {wrapX, getForProjection as getTileGridForProjection} from '../tilegrid.j
* @property {import("../tilegrid/TileGrid.js").default} [tileGrid]
* @property {boolean} [wrapX=true]
* @property {number} [transition]
* @property {string} [key]
*/
@@ -83,7 +84,7 @@ class TileSource extends Source {
* @private
* @type {string}
*/
this.key_ = '';
this.key_ = options.key || '';
/**
* @protected

View File

@@ -52,6 +52,7 @@ import {getForProjection as getTileGridForProjection} from '../tilegrid.js';
* world only, but they will be wrapped horizontally to render multiple worlds.
* @property {number} [transition] Duration of the opacity transition for rendering.
* To disable the opacity transition, pass `transition: 0`.
* @property {string} [key] Optional tile key for proper cache fetching
*/
@@ -83,6 +84,7 @@ class TileImage extends UrlTile {
urls: options.urls,
wrapX: options.wrapX,
transition: options.transition,
key: options.key,
attributionsCollapsible: options.attributionsCollapsible
});

View File

@@ -24,6 +24,7 @@ import {getKeyZXY} from '../tilecoord.js';
* @property {Array<string>} [urls]
* @property {boolean} [wrapX=true]
* @property {number} [transition]
* @property {string} [key]
*/
@@ -49,6 +50,7 @@ class UrlTile extends TileSource {
tilePixelRatio: options.tilePixelRatio,
wrapX: options.wrapX,
transition: options.transition,
key: options.key,
attributionsCollapsible: options.attributionsCollapsible
});
@@ -82,6 +84,10 @@ class UrlTile extends TileSource {
this.setUrl(options.url);
}
if (options.tileUrlFunction) {
this.setTileUrlFunction(options.tileUrlFunction, this.key_);
}
/**
* @private
* @type {!Object<string, boolean>}
@@ -157,14 +163,14 @@ class UrlTile extends TileSource {
/**
* Set the tile URL function of the source.
* @param {import("../Tile.js").UrlFunction} tileUrlFunction Tile URL function.
* @param {string=} opt_key Optional new tile key for the source.
* @param {string=} key Optional new tile key for the source.
* @api
*/
setTileUrlFunction(tileUrlFunction, opt_key) {
setTileUrlFunction(tileUrlFunction, key) {
this.tileUrlFunction = tileUrlFunction;
this.tileCache.pruneExceptNewestZ();
if (typeof opt_key !== 'undefined') {
this.setKey(opt_key);
if (typeof key !== 'undefined') {
this.setKey(key);
} else {
this.changed();
}