ol 6.12.1-dev.1642423977028 → 6.12.1-dev.1642932717618
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/layer/Base.d.ts.map +1 -1
- package/layer/Base.js +0 -1
- package/layer/Base.js.map +1 -1
- package/layer/Layer.d.ts +7 -3
- package/layer/Layer.d.ts.map +1 -1
- package/layer/Layer.js +7 -1
- package/layer/Layer.js.map +1 -1
- package/layer/WebGLTile.d.ts +31 -0
- package/layer/WebGLTile.d.ts.map +1 -1
- package/layer/WebGLTile.js +106 -0
- package/layer/WebGLTile.js.map +1 -1
- package/package.json +1 -1
- package/renderer/Composite.d.ts.map +1 -1
- package/renderer/Composite.js +4 -3
- package/renderer/Composite.js.map +1 -1
- package/renderer/webgl/Layer.js +1 -1
- package/renderer/webgl/Layer.js.map +1 -1
- package/renderer/webgl/TileLayer.d.ts +5 -0
- package/renderer/webgl/TileLayer.d.ts.map +1 -1
- package/renderer/webgl/TileLayer.js +21 -10
- package/renderer/webgl/TileLayer.js.map +1 -1
- package/source.d.ts +13 -0
- package/source.d.ts.map +1 -1
- package/source.js +35 -0
- package/source.js.map +1 -1
- package/src/layer/Base.js +0 -1
- package/src/layer/Layer.js +8 -1
- package/src/layer/WebGLTile.js +113 -0
- package/src/renderer/Composite.js +5 -3
- package/src/renderer/webgl/Layer.js +1 -1
- package/src/renderer/webgl/TileLayer.js +22 -10
- package/src/source.js +37 -0
- package/src/structs/LRUCache.js +10 -0
- package/src/style/literal.js +1 -0
- package/src/webgl/ShaderBuilder.js +2 -0
- package/structs/LRUCache.d.ts +7 -0
- package/structs/LRUCache.d.ts.map +1 -1
- package/structs/LRUCache.js +9 -0
- package/structs/LRUCache.js.map +1 -1
- package/style/literal.d.ts +4 -0
- package/style/literal.js +1 -0
- package/style/literal.js.map +1 -1
- package/util.js +1 -1
- package/webgl/ShaderBuilder.d.ts.map +1 -1
- package/webgl/ShaderBuilder.js +2 -0
- package/webgl/ShaderBuilder.js.map +1 -1
|
@@ -27,7 +27,7 @@ import { AttributeType } from '../../webgl/Helper.js';
|
|
|
27
27
|
import { ELEMENT_ARRAY_BUFFER, STATIC_DRAW } from '../../webgl.js';
|
|
28
28
|
import { compose as composeTransform, create as createTransform, } from '../../transform.js';
|
|
29
29
|
import { create as createMat4, fromTransform as mat4FromTransform, } from '../../vec/mat4.js';
|
|
30
|
-
import { createOrUpdate as createTileCoord,
|
|
30
|
+
import { createOrUpdate as createTileCoord, getKey as getTileCoordKey, } from '../../tilecoord.js';
|
|
31
31
|
import { fromUserExtent } from '../../proj.js';
|
|
32
32
|
import { getIntersection } from '../../extent.js';
|
|
33
33
|
import { getUid } from '../../util.js';
|
|
@@ -93,7 +93,7 @@ function getRenderExtent(frameState, extent) {
|
|
|
93
93
|
extent = getIntersection(extent, fromUserExtent(layerState.extent, frameState.viewState.projection));
|
|
94
94
|
}
|
|
95
95
|
var source =
|
|
96
|
-
/** {import("../../source/Tile.js").default} */ layerState.layer.
|
|
96
|
+
/** {import("../../source/Tile.js").default} */ layerState.layer.getRenderSource();
|
|
97
97
|
if (!source.getWrapX()) {
|
|
98
98
|
var gridExtent = source
|
|
99
99
|
.getTileGridForProjection(frameState.viewState.projection)
|
|
@@ -104,6 +104,9 @@ function getRenderExtent(frameState, extent) {
|
|
|
104
104
|
}
|
|
105
105
|
return extent;
|
|
106
106
|
}
|
|
107
|
+
function getCacheKey(source, tileCoord) {
|
|
108
|
+
return source.getKey() + "," + getTileCoordKey(tileCoord);
|
|
109
|
+
}
|
|
107
110
|
/**
|
|
108
111
|
* @typedef {Object} Options
|
|
109
112
|
* @property {string} vertexShader Vertex shader source.
|
|
@@ -132,6 +135,11 @@ var WebGLTileLayerRenderer = /** @class */ (function (_super) {
|
|
|
132
135
|
var _this = _super.call(this, tileLayer, {
|
|
133
136
|
uniforms: options.uniforms,
|
|
134
137
|
}) || this;
|
|
138
|
+
/**
|
|
139
|
+
* The last call to `renderFrame` was completed with all tiles loaded
|
|
140
|
+
* @type {boolean}
|
|
141
|
+
*/
|
|
142
|
+
_this.renderComplete = false;
|
|
135
143
|
/**
|
|
136
144
|
* This transform converts tile i, j coordinates to screen coordinates.
|
|
137
145
|
* @type {import("../../transform.js").Transform}
|
|
@@ -241,7 +249,7 @@ var WebGLTileLayerRenderer = /** @class */ (function (_super) {
|
|
|
241
249
|
*/
|
|
242
250
|
WebGLTileLayerRenderer.prototype.prepareFrameInternal = function (frameState) {
|
|
243
251
|
var layer = this.getLayer();
|
|
244
|
-
var source = layer.
|
|
252
|
+
var source = layer.getRenderSource();
|
|
245
253
|
if (!source) {
|
|
246
254
|
return false;
|
|
247
255
|
}
|
|
@@ -259,7 +267,7 @@ var WebGLTileLayerRenderer = /** @class */ (function (_super) {
|
|
|
259
267
|
WebGLTileLayerRenderer.prototype.enqueueTiles = function (frameState, extent, z, tileTexturesByZ) {
|
|
260
268
|
var viewState = frameState.viewState;
|
|
261
269
|
var tileLayer = this.getLayer();
|
|
262
|
-
var tileSource = tileLayer.
|
|
270
|
+
var tileSource = tileLayer.getRenderSource();
|
|
263
271
|
var tileGrid = tileSource.getTileGridForProjection(viewState.projection);
|
|
264
272
|
var tileTextureCache = this.tileTextureCache_;
|
|
265
273
|
var tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z, this.tempTileRange_);
|
|
@@ -272,7 +280,7 @@ var WebGLTileLayerRenderer = /** @class */ (function (_super) {
|
|
|
272
280
|
for (var x = tileRange.minX; x <= tileRange.maxX; ++x) {
|
|
273
281
|
for (var y = tileRange.minY; y <= tileRange.maxY; ++y) {
|
|
274
282
|
var tileCoord = createTileCoord(z, x, y, this.tempTileCoord_);
|
|
275
|
-
var
|
|
283
|
+
var cacheKey = getCacheKey(tileSource, tileCoord);
|
|
276
284
|
/**
|
|
277
285
|
* @type {TileTexture}
|
|
278
286
|
*/
|
|
@@ -281,15 +289,15 @@ var WebGLTileLayerRenderer = /** @class */ (function (_super) {
|
|
|
281
289
|
* @type {import("../../webgl/TileTexture").TileType}
|
|
282
290
|
*/
|
|
283
291
|
var tile = void 0;
|
|
284
|
-
if (tileTextureCache.containsKey(
|
|
285
|
-
tileTexture = tileTextureCache.get(
|
|
292
|
+
if (tileTextureCache.containsKey(cacheKey)) {
|
|
293
|
+
tileTexture = tileTextureCache.get(cacheKey);
|
|
286
294
|
tile = tileTexture.tile;
|
|
287
295
|
}
|
|
288
296
|
if (!tileTexture || tileTexture.tile.key !== tileSource.getKey()) {
|
|
289
297
|
tile = tileSource.getTile(z, x, y, frameState.pixelRatio, viewState.projection);
|
|
290
298
|
if (!tileTexture) {
|
|
291
299
|
tileTexture = new TileTexture(tile, tileGrid, this.helper);
|
|
292
|
-
tileTextureCache.set(
|
|
300
|
+
tileTextureCache.set(cacheKey, tileTexture);
|
|
293
301
|
}
|
|
294
302
|
else {
|
|
295
303
|
if (this.isDrawableTile_(tile)) {
|
|
@@ -324,11 +332,12 @@ var WebGLTileLayerRenderer = /** @class */ (function (_super) {
|
|
|
324
332
|
* @return {HTMLElement} The rendered element.
|
|
325
333
|
*/
|
|
326
334
|
WebGLTileLayerRenderer.prototype.renderFrame = function (frameState) {
|
|
335
|
+
this.renderComplete = true;
|
|
327
336
|
var gl = this.helper.getGL();
|
|
328
337
|
this.preRender(gl, frameState);
|
|
329
338
|
var viewState = frameState.viewState;
|
|
330
339
|
var tileLayer = this.getLayer();
|
|
331
|
-
var tileSource = tileLayer.
|
|
340
|
+
var tileSource = tileLayer.getRenderSource();
|
|
332
341
|
var tileGrid = tileSource.getTileGridForProjection(viewState.projection);
|
|
333
342
|
var extent = getRenderExtent(frameState, frameState.extent);
|
|
334
343
|
var z = tileGrid.getZForResolution(viewState.resolution, tileSource.zDirection);
|
|
@@ -369,6 +378,7 @@ var WebGLTileLayerRenderer = /** @class */ (function (_super) {
|
|
|
369
378
|
var tileCoordKey = getTileCoordKey(tileCoord);
|
|
370
379
|
alphaLookup[tileCoordKey] = alpha;
|
|
371
380
|
}
|
|
381
|
+
this.renderComplete = false;
|
|
372
382
|
// first look for child tiles (at z + 1)
|
|
373
383
|
var coveredByChildren = this.findAltTiles_(tileGrid, tileCoord, z + 1, tileTexturesByZ);
|
|
374
384
|
if (coveredByChildren) {
|
|
@@ -484,9 +494,10 @@ var WebGLTileLayerRenderer = /** @class */ (function (_super) {
|
|
|
484
494
|
}
|
|
485
495
|
var covered = true;
|
|
486
496
|
var tileTextureCache = this.tileTextureCache_;
|
|
497
|
+
var source = this.getLayer().getRenderSource();
|
|
487
498
|
for (var x = tileRange.minX; x <= tileRange.maxX; ++x) {
|
|
488
499
|
for (var y = tileRange.minY; y <= tileRange.maxY; ++y) {
|
|
489
|
-
var cacheKey =
|
|
500
|
+
var cacheKey = getCacheKey(source, [altZ, x, y]);
|
|
490
501
|
var loaded = false;
|
|
491
502
|
if (tileTextureCache.containsKey(cacheKey)) {
|
|
492
503
|
var tileTexture = tileTextureCache.get(cacheKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileLayer.js","sourceRoot":"","sources":["../../src/renderer/webgl/TileLayer.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAC1C,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,kBAAkB,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,oBAAoB,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACL,OAAO,IAAI,gBAAgB,EAC3B,MAAM,IAAI,eAAe,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,MAAM,IAAI,UAAU,EACpB,aAAa,IAAI,iBAAiB,GACnC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,IAAI,eAAe,EACjC,SAAS,EACT,MAAM,IAAI,eAAe,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,yBAAyB,EAAC,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAErC,MAAM,CAAC,IAAM,QAAQ,GAAG;IACtB,kBAAkB,EAAE,gBAAgB;IACpC,cAAc,EAAE,iBAAiB;IACjC,gBAAgB,EAAE,mBAAmB;IACrC,KAAK,EAAE,SAAS;IAChB,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,UAAU,EAAE,cAAc;IAC1B,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,MAAM,CAAC,IAAM,UAAU,GAAG;IACxB,aAAa,EAAE,gBAAgB;CAChC,CAAC;AAEF;;GAEG;AACH,IAAM,qBAAqB,GAAG;IAC5B;QACE,IAAI,EAAE,UAAU,CAAC,aAAa;QAC9B,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,aAAa,CAAC,KAAK;KAC1B;CACF,CAAC;AAEF;;GAEG;AACH,IAAM,KAAK,GAAG,EAAE,CAAC;AAEjB;;;;GAIG;AACH,SAAS,SAAS,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC;IAC7D,IAAI,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,EAAE;QAC3B,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;KACzB;IACD,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,UAAU,EAAE,MAAM;IACzC,IAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,MAAM,EAAE;QACrB,MAAM,GAAG,eAAe,CACtB,MAAM,EACN,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CACnE,CAAC;KACH;IACD,IAAM,MAAM;IACV,+CAA+C,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAC/E,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;QACtB,IAAM,UAAU,GAAG,MAAM;aACtB,wBAAwB,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC;aACzD,SAAS,EAAE,CAAC;QACf,IAAI,UAAU,EAAE;YACd,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SAC9C;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AAEH;;GAEG;AAEH;;;;;GAKG;AACH;IAAqC,0CAAkB;IACrD;;;OAGG;IACH,gCAAY,SAAS,EAAE,OAAO;QAA9B,YACE,kBAAM,SAAS,EAAE;YACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,SAkFH;QAhFC;;;;WAIG;QACH,KAAI,CAAC,cAAc,GAAG,eAAe,EAAE,CAAC;QAExC;;;WAGG;QACH,KAAI,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC;QAE9B;;;WAGG;QACH,KAAI,CAAC,cAAc,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhD;;;WAGG;QACH,KAAI,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/C;;;WAGG;QACH,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAExB;;;WAGG;QACH,KAAI,CAAC,QAAQ,CAAC;QAEd;;WAEG;QACH,KAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;QAE1C;;WAEG;QACH,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAE9C;;;;;;;;;;;;;;;;WAgBG;QACH,KAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QACxE,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5C,IAAM,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QAE5E;;;WAGG;QACH,KAAI,CAAC,iBAAiB,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEjD;;;WAGG;QACH,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;;IACxD,CAAC;IAED;;OAEG;IACH,sCAAK,GAAL,UAAM,OAAO;QACX,iBAAM,KAAK,YAAC;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;QAEtD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CACpC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,CACnB,CAAC;SACH;IACH,CAAC;IAED,mDAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CACpC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,CACnB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,gDAAe,GAAf,UAAgB,IAAI;QAClB,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAM,sBAAsB,GAAG,SAAS,CAAC,yBAAyB,EAAE,CAAC;QACrE,OAAO,CACL,SAAS,IAAI,SAAS,CAAC,MAAM;YAC7B,SAAS,IAAI,SAAS,CAAC,KAAK;YAC5B,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,IAAI,CAAC,sBAAsB,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,qDAAoB,GAApB,UAAqB,UAAU;QAC7B,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE;YAC3D,OAAO,KAAK,CAAC;SACd;QACD,OAAO,MAAM,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,6CAAY,GAAZ,UAAa,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe;QACjD,IAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACvC,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAM,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACzC,IAAM,QAAQ,GAAG,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3E,IAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAM,SAAS,GAAG,QAAQ,CAAC,yBAAyB,CAClD,MAAM,EACN,CAAC,EACD,IAAI,CAAC,cAAc,CACpB,CAAC;QAEF,IAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,aAAa,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE;YAC9C,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;SAC5C;QAED,IAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAE1D,IAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;YACrD,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;gBACrD,IAAM,SAAS,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBAChE,IAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;gBAEhD;;mBAEG;gBACH,IAAI,WAAW,SAAA,CAAC;gBAEhB;;mBAEG;gBACH,IAAI,IAAI,SAAA,CAAC;gBAET,IAAI,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;oBAC9C,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBACjD,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;iBACzB;gBACD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,MAAM,EAAE,EAAE;oBAChE,IAAI,GAAG,UAAU,CAAC,OAAO,CACvB,CAAC,EACD,CAAC,EACD,CAAC,EACD,UAAU,CAAC,UAAU,EACrB,SAAS,CAAC,UAAU,CACrB,CAAC;oBACF,IAAI,CAAC,WAAW,EAAE;wBAChB,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC3D,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;qBACjD;yBAAM;wBACL,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;4BAC9B,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;yBAC3B;6BAAM;4BACL,IAAM,WAAW;4BACf,yDAAyD,CAAC,CACxD,IAAI,CAAC,cAAc,EAAE,CACtB,CAAC;4BACJ,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;yBAClC;qBACF;iBACF;gBAED,sBAAsB,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBAExD,IAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnC,WAAW,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;gBAEjC,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE;oBACtC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;wBACnD,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC;4BAC3B,IAAI;4BACJ,aAAa;4BACb,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC;4BACtC,cAAc;yBACf,CAAC,CAAC;qBACJ;iBACF;aACF;SACF;IACH,CAAC;IAED;;;;OAIG;IACH,4CAAW,GAAX,UAAY,UAAU;QACpB,IAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAE/B,IAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACvC,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAM,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACzC,IAAM,QAAQ,GAAG,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3E,IAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAM,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAClC,SAAS,CAAC,UAAU,EACpB,UAAU,CAAC,UAAU,CACtB,CAAC;QAEF;;WAEG;QACH,IAAM,eAAe,GAAG,EAAE,CAAC;QAE3B,IAAI,UAAU,CAAC,UAAU,EAAE;YACzB,IAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CACxC,SAAS,CAAC,cAAc,EACxB,UAAU,CAAC,UAAU,CACtB,CAAC;YACF,IAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YACtE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;SACrE;QAED,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;QAE1D;;;;;WAKG;QACH,IAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,IAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,6DAA6D;QAC7D,IAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;YACrD,IAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,IAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAC9B,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAEjC,IAAI,WAAW,CAAC,MAAM,EAAE;gBACtB,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACvC,IAAI,KAAK,KAAK,CAAC,EAAE;oBACf,gCAAgC;oBAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACxB,SAAS;iBACV;gBACD,KAAK,GAAG,IAAI,CAAC;gBACb,IAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChD,WAAW,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;aACnC;YAED,wCAAwC;YACxC,IAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAC1C,QAAQ,EACR,SAAS,EACT,CAAC,GAAG,CAAC,EACL,eAAe,CAChB,CAAC;YAEF,IAAI,iBAAiB,EAAE;gBACrB,SAAS;aACV;YAED,6BAA6B;YAC7B,IAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtC,KAAK,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,EAAE,EAAE,OAAO,EAAE;gBACvD,IAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CACxC,QAAQ,EACR,SAAS,EACT,OAAO,EACP,eAAe,CAChB,CAAC;gBAEF,IAAI,eAAe,EAAE;oBACnB,MAAM;iBACP;aACF;SACF;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;aACpC,GAAG,CAAC,MAAM,CAAC;aACX,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAEnC,IAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpC,IAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;YAC3C,IAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACpB,IAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACrD,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACrE,IAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAE7C,IAAM,OAAO,GACX,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;YAC7D,IAAM,OAAO,GACX,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;YAE7D,IAAM,SAAS,GAAG,SAAS,CAAC,UAAU,GAAG,cAAc,CAAC;YAExD,IAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAM,cAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,cAAY,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;gBACrD,IAAM,WAAW,GAAG,cAAY,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;oBACvB,SAAS;iBACV;gBACD,IAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;gBAC9B,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,IAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;gBAEhD,IAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAEjC,gBAAgB,CACd,IAAI,CAAC,cAAc,EACnB,CAAC,EACD,CAAC,EACD,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EACpD,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EACrD,SAAS,CAAC,QAAQ,EAClB,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC,EACxB,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC,CACzB,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAC/B,QAAQ,CAAC,cAAc,EACvB,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CACvD,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;gBAEpD,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,OAAO,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAChD,IAAM,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;oBAChD,IAAM,WAAW,GAAM,QAAQ,CAAC,kBAAkB,SAAI,WAAW,MAAG,CAAC;oBACrE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;oBACtC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;oBACjE,EAAE,CAAC,SAAS,CACV,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAC3C,WAAW,CACZ,CAAC;oBACF,EAAE,WAAW,CAAC;iBACf;gBAED,KACE,IAAI,YAAY,GAAG,CAAC,EACpB,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAC3C,EAAE,YAAY,EACd;oBACA,IAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;oBAC3D,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC;oBAC9C,IAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC9C,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBACvC,EAAE,CAAC,SAAS,CACV,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,EACnD,WAAW,CACZ,CAAC;oBACF,EAAE,WAAW,CAAC;iBACf;gBAED,IAAM,KAAK,GACT,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE9D,IAAI,KAAK,GAAG,CAAC,EAAE;oBACb,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;iBAC3B;gBAED,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBACnE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAC9B,QAAQ,CAAC,mBAAmB,EAC5B,QAAQ,CAAC,CAAC,CAAC,CACZ,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAC9B,QAAQ,CAAC,oBAAoB,EAC7B,QAAQ,CAAC,CAAC,CAAC,CACZ,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAC9B,QAAQ,CAAC,UAAU,EACnB,SAAS,CAAC,UAAU,CACrB,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBAEhE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;aACtD;SACF;QAED,IAAI,CAAC,MAAM,CAAC,YAAY,CACtB,UAAU,EACV,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,wBAAwB,CAC9B,CAAC;QAEF,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAEvC,IAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,OAAO,gBAAgB,CAAC,cAAc,EAAE,EAAE;YACxC,IAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAC3C,WAAW,CAAC,OAAO,EAAE,CAAC;SACvB;QAED,sFAAsF;QACtF;;;;;WAKG;QACH,IAAM,kBAAkB,GAAG,UAAU,GAAG,EAAE,UAAU;YAClD,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAExD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,8CAAa,GAAb,UAAc,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe;QACtD,IAAM,SAAS,GAAG,QAAQ,CAAC,4BAA4B,CACrD,SAAS,EACT,IAAI,EACJ,IAAI,CAAC,cAAc,CACpB,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;YACrD,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;gBACrD,IAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,IAAI,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;oBAC1C,IAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACnD,IAAI,WAAW,CAAC,MAAM,EAAE;wBACtB,sBAAsB,CAAC,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;wBAC3D,MAAM,GAAG,IAAI,CAAC;qBACf;iBACF;gBACD,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO,GAAG,KAAK,CAAC;iBACjB;aACF;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,gDAAe,GAAf;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAE1B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC;QAErB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC;QAErB,IAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,gBAAgB,CAAC,OAAO,CAAC,UAAU,WAAW;YAC5C,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAE9B,iBAAM,eAAe,WAAE,CAAC;IAC1B,CAAC;IACH,6BAAC;AAAD,CAAC,AAliBD,CAAqC,kBAAkB,GAkiBtD;AAED;;;GAGG;AACH,sBAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC;AAE1C,eAAe,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"TileLayer.js","sourceRoot":"","sources":["../../src/renderer/webgl/TileLayer.js"],"names":[],"mappings":"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"}
|
package/source.d.ts
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a sources function from a tile grid. This function can be used as value for the
|
|
3
|
+
* `sources` property of the {@link module:ol/layer/Layer~Layer} subclasses that support it.
|
|
4
|
+
* @param {import("./tilegrid/TileGrid.js").default} tileGrid Tile grid.
|
|
5
|
+
* @param {function(import("./tilecoord.js").TileCoord): import("./source/Source.js").default} factory Source factory.
|
|
6
|
+
* This function takes a {@link module:ol/tilecoord~TileCoord} as argument and is expected to return a
|
|
7
|
+
* {@link module:ol/source/Source~Source}. **Note**: The returned sources should have a tile grid with
|
|
8
|
+
* a limited set of resolutions, matching the resolution range of a single zoom level of the pyramid
|
|
9
|
+
* `tileGrid` that `createFromTileGrid` was called with.
|
|
10
|
+
* @return {function(import("./extent.js").Extent, number): Array<import("./source/Source.js").default>} Sources function.
|
|
11
|
+
* @api
|
|
12
|
+
*/
|
|
13
|
+
export function sourcesFromTileGrid(tileGrid: import("./tilegrid/TileGrid.js").default, factory: (arg0: number[]) => import("./source/Source.js").default): (arg0: number[], arg1: number) => import("./source/Source.js").default[];
|
|
1
14
|
export { default as BingMaps } from "./source/BingMaps.js";
|
|
2
15
|
export { default as CartoDB } from "./source/CartoDB.js";
|
|
3
16
|
export { default as Cluster } from "./source/Cluster.js";
|
package/source.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["src/source.js"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["src/source.js"],"names":[],"mappings":"AAqCA;;;;;;;;;;;GAWG;AACH,qOAoBC"}
|
package/source.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module ol/source
|
|
3
3
|
*/
|
|
4
|
+
import LRUCache from './structs/LRUCache.js';
|
|
5
|
+
import { getIntersection } from './extent.js';
|
|
4
6
|
export { default as BingMaps } from './source/BingMaps.js';
|
|
5
7
|
export { default as CartoDB } from './source/CartoDB.js';
|
|
6
8
|
export { default as Cluster } from './source/Cluster.js';
|
|
@@ -30,4 +32,37 @@ export { default as VectorTile } from './source/VectorTile.js';
|
|
|
30
32
|
export { default as WMTS } from './source/WMTS.js';
|
|
31
33
|
export { default as XYZ } from './source/XYZ.js';
|
|
32
34
|
export { default as Zoomify } from './source/Zoomify.js';
|
|
35
|
+
/**
|
|
36
|
+
* Creates a sources function from a tile grid. This function can be used as value for the
|
|
37
|
+
* `sources` property of the {@link module:ol/layer/Layer~Layer} subclasses that support it.
|
|
38
|
+
* @param {import("./tilegrid/TileGrid.js").default} tileGrid Tile grid.
|
|
39
|
+
* @param {function(import("./tilecoord.js").TileCoord): import("./source/Source.js").default} factory Source factory.
|
|
40
|
+
* This function takes a {@link module:ol/tilecoord~TileCoord} as argument and is expected to return a
|
|
41
|
+
* {@link module:ol/source/Source~Source}. **Note**: The returned sources should have a tile grid with
|
|
42
|
+
* a limited set of resolutions, matching the resolution range of a single zoom level of the pyramid
|
|
43
|
+
* `tileGrid` that `createFromTileGrid` was called with.
|
|
44
|
+
* @return {function(import("./extent.js").Extent, number): Array<import("./source/Source.js").default>} Sources function.
|
|
45
|
+
* @api
|
|
46
|
+
*/
|
|
47
|
+
export function sourcesFromTileGrid(tileGrid, factory) {
|
|
48
|
+
var sourceCache = new LRUCache(32);
|
|
49
|
+
var tileGridExtent = tileGrid.getExtent();
|
|
50
|
+
return function (extent, resolution) {
|
|
51
|
+
sourceCache.expireCache();
|
|
52
|
+
if (tileGridExtent) {
|
|
53
|
+
extent = getIntersection(tileGridExtent, extent);
|
|
54
|
+
}
|
|
55
|
+
var z = tileGrid.getZForResolution(resolution);
|
|
56
|
+
var wantedSources = [];
|
|
57
|
+
tileGrid.forEachTileCoord(extent, z, function (tileCoord) {
|
|
58
|
+
var key = tileCoord.toString();
|
|
59
|
+
if (!sourceCache.containsKey(key)) {
|
|
60
|
+
var source = factory(tileCoord);
|
|
61
|
+
sourceCache.set(key, source);
|
|
62
|
+
}
|
|
63
|
+
wantedSources.push(sourceCache.get(key));
|
|
64
|
+
});
|
|
65
|
+
return wantedSources;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
33
68
|
//# sourceMappingURL=source.js.map
|
package/source.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["src/source.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["src/source.js"],"names":[],"mappings":"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"}
|
package/src/layer/Base.js
CHANGED
|
@@ -163,7 +163,6 @@ class BaseLayer extends BaseObject {
|
|
|
163
163
|
});
|
|
164
164
|
const zIndex = this.getZIndex();
|
|
165
165
|
state.opacity = clamp(Math.round(this.getOpacity() * 100) / 100, 0, 1);
|
|
166
|
-
state.sourceState = this.getSourceState();
|
|
167
166
|
state.visible = this.getVisible();
|
|
168
167
|
state.extent = this.getExtent();
|
|
169
168
|
state.zIndex = zIndex === undefined && !state.managed ? Infinity : zIndex;
|
package/src/layer/Layer.js
CHANGED
|
@@ -57,7 +57,7 @@ import {listen, unlistenByKey} from '../events.js';
|
|
|
57
57
|
* @typedef {Object} State
|
|
58
58
|
* @property {import("./Layer.js").default} layer Layer.
|
|
59
59
|
* @property {number} opacity Opacity, the value is rounded to two digits to appear after the decimal point.
|
|
60
|
-
* @property {import("../source/
|
|
60
|
+
* @property {import("../source/Source.js").default|undefined} source Source being rendered (only for multi-source layers).
|
|
61
61
|
* @property {boolean} visible Visible.
|
|
62
62
|
* @property {boolean} managed Managed.
|
|
63
63
|
* @property {import("../extent.js").Extent} [extent] Extent.
|
|
@@ -196,6 +196,13 @@ class Layer extends BaseLayer {
|
|
|
196
196
|
return /** @type {SourceType} */ (this.get(LayerProperty.SOURCE)) || null;
|
|
197
197
|
}
|
|
198
198
|
|
|
199
|
+
/**
|
|
200
|
+
* @return {SourceType} The source being rendered.
|
|
201
|
+
*/
|
|
202
|
+
getRenderSource() {
|
|
203
|
+
return this.getSource();
|
|
204
|
+
}
|
|
205
|
+
|
|
199
206
|
/**
|
|
200
207
|
* @return {import("../source/State.js").default} Source state.
|
|
201
208
|
*/
|
package/src/layer/WebGLTile.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import BaseTileLayer from './BaseTile.js';
|
|
5
5
|
import LayerProperty from '../layer/Property.js';
|
|
6
|
+
import SourceState from '../source/State.js';
|
|
6
7
|
import WebGLTileLayerRenderer, {
|
|
7
8
|
Attributes,
|
|
8
9
|
Uniforms,
|
|
@@ -64,6 +65,11 @@ import {assign} from '../obj.js';
|
|
|
64
65
|
* @property {number} [preload=0] Preload. Load low-resolution tiles up to `preload` levels. `0`
|
|
65
66
|
* means no preloading.
|
|
66
67
|
* @property {SourceType} [source] Source for this layer.
|
|
68
|
+
* @property {Array<SourceType>|function(import("../extent.js").Extent, number):Array<SourceType>} [sources] Array
|
|
69
|
+
* of sources for this layer. Takes precedence over `source`. Can either be an array of sources, or a function that
|
|
70
|
+
* expects an extent and a resolution (in view projection units per pixel) and returns an array of sources. See
|
|
71
|
+
* {@link module:ol/source.sourcesFromTileGrid} for a helper function to generate sources that are organized in a
|
|
72
|
+
* pyramid following the same pattern as a tile grid.
|
|
67
73
|
* @property {import("../PluggableMap.js").default} [map] Sets the layer as overlay on a map. The map will not manage
|
|
68
74
|
* this layer in its layers collection, and the layer will be rendered on top. This is useful for
|
|
69
75
|
* temporary layers. The standard way to add a layer to a map and have it managed by the map is to
|
|
@@ -291,6 +297,18 @@ class WebGLTileLayer extends BaseTileLayer {
|
|
|
291
297
|
|
|
292
298
|
super(options);
|
|
293
299
|
|
|
300
|
+
/**
|
|
301
|
+
* @type {Array<SourceType>|function(import("../extent.js").Extent, number):Array<SourceType>}
|
|
302
|
+
* @private
|
|
303
|
+
*/
|
|
304
|
+
this.sources_ = options.sources;
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* @type {number}
|
|
308
|
+
* @private
|
|
309
|
+
*/
|
|
310
|
+
this.renderedResolution_ = NaN;
|
|
311
|
+
|
|
294
312
|
/**
|
|
295
313
|
* @type {Style}
|
|
296
314
|
* @private
|
|
@@ -312,6 +330,41 @@ class WebGLTileLayer extends BaseTileLayer {
|
|
|
312
330
|
this.addChangeListener(LayerProperty.SOURCE, this.handleSourceUpdate_);
|
|
313
331
|
}
|
|
314
332
|
|
|
333
|
+
/**
|
|
334
|
+
* Gets the sources for this layer, for a given extent and resolution.
|
|
335
|
+
* @param {import("../extent.js").Extent} extent Extent.
|
|
336
|
+
* @param {number} resolution Resolution.
|
|
337
|
+
* @return {Array<SourceType>} Sources.
|
|
338
|
+
*/
|
|
339
|
+
getSources(extent, resolution) {
|
|
340
|
+
const source = this.getSource();
|
|
341
|
+
return this.sources_
|
|
342
|
+
? typeof this.sources_ === 'function'
|
|
343
|
+
? this.sources_(extent, resolution)
|
|
344
|
+
: this.sources_
|
|
345
|
+
: source
|
|
346
|
+
? [source]
|
|
347
|
+
: [];
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* @return {SourceType} The source being rendered.
|
|
352
|
+
*/
|
|
353
|
+
getRenderSource() {
|
|
354
|
+
return (
|
|
355
|
+
/** @type {SourceType} */ (this.getLayerState().source) ||
|
|
356
|
+
this.getSource()
|
|
357
|
+
);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* @return {import("../source/State.js").default} Source state.
|
|
362
|
+
*/
|
|
363
|
+
getSourceState() {
|
|
364
|
+
const source = this.getRenderSource();
|
|
365
|
+
return source ? source.getState() : SourceState.UNDEFINED;
|
|
366
|
+
}
|
|
367
|
+
|
|
315
368
|
/**
|
|
316
369
|
* @private
|
|
317
370
|
*/
|
|
@@ -340,6 +393,66 @@ class WebGLTileLayer extends BaseTileLayer {
|
|
|
340
393
|
});
|
|
341
394
|
}
|
|
342
395
|
|
|
396
|
+
/**
|
|
397
|
+
* @param {import("../PluggableMap").FrameState} frameState Frame state.
|
|
398
|
+
* @param {Array<SourceType>} sources Sources.
|
|
399
|
+
* @return {HTMLElement} Canvas.
|
|
400
|
+
*/
|
|
401
|
+
renderSources(frameState, sources) {
|
|
402
|
+
const layerRenderer = this.getRenderer();
|
|
403
|
+
let canvas;
|
|
404
|
+
for (let i = 0, ii = sources.length; i < ii; ++i) {
|
|
405
|
+
this.getLayerState().source = sources[i];
|
|
406
|
+
if (layerRenderer.prepareFrame(frameState)) {
|
|
407
|
+
canvas = layerRenderer.renderFrame(frameState);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
return canvas;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
/**
|
|
414
|
+
* @param {?import("../PluggableMap.js").FrameState} frameState Frame state.
|
|
415
|
+
* @param {HTMLElement} target Target which the renderer may (but need not) use
|
|
416
|
+
* for rendering its content.
|
|
417
|
+
* @return {HTMLElement} The rendered element.
|
|
418
|
+
*/
|
|
419
|
+
render(frameState, target) {
|
|
420
|
+
const viewState = frameState.viewState;
|
|
421
|
+
const sources = this.getSources(frameState.extent, viewState.resolution);
|
|
422
|
+
let ready = true;
|
|
423
|
+
for (let i = 0, ii = sources.length; i < ii; ++i) {
|
|
424
|
+
const source = sources[i];
|
|
425
|
+
const sourceState = source.getState();
|
|
426
|
+
if (sourceState == SourceState.LOADING) {
|
|
427
|
+
const onChange = () => {
|
|
428
|
+
if (source.getState() == SourceState.READY) {
|
|
429
|
+
source.removeEventListener('change', onChange);
|
|
430
|
+
this.changed();
|
|
431
|
+
}
|
|
432
|
+
};
|
|
433
|
+
source.addEventListener('change', onChange);
|
|
434
|
+
}
|
|
435
|
+
ready = ready && sourceState == SourceState.READY;
|
|
436
|
+
}
|
|
437
|
+
const canvas = this.renderSources(frameState, sources);
|
|
438
|
+
if (this.getRenderer().renderComplete && ready) {
|
|
439
|
+
// Fully rendered, done.
|
|
440
|
+
this.renderedResolution_ = viewState.resolution;
|
|
441
|
+
return canvas;
|
|
442
|
+
}
|
|
443
|
+
// Render sources from previously fully rendered frames
|
|
444
|
+
if (this.renderedResolution_ > 0.5 * viewState.resolution) {
|
|
445
|
+
const altSources = this.getSources(
|
|
446
|
+
frameState.extent,
|
|
447
|
+
this.renderedResolution_
|
|
448
|
+
).filter((source) => !sources.includes(source));
|
|
449
|
+
if (altSources.length > 0) {
|
|
450
|
+
return this.renderSources(frameState, altSources);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
return canvas;
|
|
454
|
+
}
|
|
455
|
+
|
|
343
456
|
/**
|
|
344
457
|
* Update the layer style. The `updateStyleVariables` function is a more efficient
|
|
345
458
|
* way to update layer rendering. In cases where the whole style needs to be updated,
|
|
@@ -110,15 +110,17 @@ class CompositeMapRenderer extends MapRenderer {
|
|
|
110
110
|
for (let i = 0, ii = layerStatesArray.length; i < ii; ++i) {
|
|
111
111
|
const layerState = layerStatesArray[i];
|
|
112
112
|
frameState.layerIndex = i;
|
|
113
|
+
|
|
114
|
+
const layer = layerState.layer;
|
|
115
|
+
const sourceState = layer.getSourceState();
|
|
113
116
|
if (
|
|
114
117
|
!inView(layerState, viewState) ||
|
|
115
|
-
(
|
|
116
|
-
|
|
118
|
+
(sourceState != SourceState.READY &&
|
|
119
|
+
sourceState != SourceState.UNDEFINED)
|
|
117
120
|
) {
|
|
118
121
|
continue;
|
|
119
122
|
}
|
|
120
123
|
|
|
121
|
-
const layer = layerState.layer;
|
|
122
124
|
const element = layer.render(frameState, previousElement);
|
|
123
125
|
if (!element) {
|
|
124
126
|
continue;
|
|
@@ -161,7 +161,7 @@ class WebGLLayerRenderer extends LayerRenderer {
|
|
|
161
161
|
* @return {boolean} Layer is ready to be rendered.
|
|
162
162
|
*/
|
|
163
163
|
prepareFrame(frameState) {
|
|
164
|
-
if (this.getLayer().
|
|
164
|
+
if (this.getLayer().getRenderSource()) {
|
|
165
165
|
let incrementGroup = true;
|
|
166
166
|
let groupNumber = -1;
|
|
167
167
|
let className;
|
|
@@ -20,7 +20,6 @@ import {
|
|
|
20
20
|
} from '../../vec/mat4.js';
|
|
21
21
|
import {
|
|
22
22
|
createOrUpdate as createTileCoord,
|
|
23
|
-
getKeyZXY,
|
|
24
23
|
getKey as getTileCoordKey,
|
|
25
24
|
} from '../../tilecoord.js';
|
|
26
25
|
import {fromUserExtent} from '../../proj.js';
|
|
@@ -98,7 +97,7 @@ function getRenderExtent(frameState, extent) {
|
|
|
98
97
|
);
|
|
99
98
|
}
|
|
100
99
|
const source =
|
|
101
|
-
/** {import("../../source/Tile.js").default} */ layerState.layer.
|
|
100
|
+
/** {import("../../source/Tile.js").default} */ layerState.layer.getRenderSource();
|
|
102
101
|
if (!source.getWrapX()) {
|
|
103
102
|
const gridExtent = source
|
|
104
103
|
.getTileGridForProjection(frameState.viewState.projection)
|
|
@@ -110,6 +109,10 @@ function getRenderExtent(frameState, extent) {
|
|
|
110
109
|
return extent;
|
|
111
110
|
}
|
|
112
111
|
|
|
112
|
+
function getCacheKey(source, tileCoord) {
|
|
113
|
+
return `${source.getKey()},${getTileCoordKey(tileCoord)}`;
|
|
114
|
+
}
|
|
115
|
+
|
|
113
116
|
/**
|
|
114
117
|
* @typedef {Object} Options
|
|
115
118
|
* @property {string} vertexShader Vertex shader source.
|
|
@@ -140,6 +143,12 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
140
143
|
uniforms: options.uniforms,
|
|
141
144
|
});
|
|
142
145
|
|
|
146
|
+
/**
|
|
147
|
+
* The last call to `renderFrame` was completed with all tiles loaded
|
|
148
|
+
* @type {boolean}
|
|
149
|
+
*/
|
|
150
|
+
this.renderComplete = false;
|
|
151
|
+
|
|
143
152
|
/**
|
|
144
153
|
* This transform converts tile i, j coordinates to screen coordinates.
|
|
145
154
|
* @type {import("../../transform.js").Transform}
|
|
@@ -273,7 +282,7 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
273
282
|
*/
|
|
274
283
|
prepareFrameInternal(frameState) {
|
|
275
284
|
const layer = this.getLayer();
|
|
276
|
-
const source = layer.
|
|
285
|
+
const source = layer.getRenderSource();
|
|
277
286
|
if (!source) {
|
|
278
287
|
return false;
|
|
279
288
|
}
|
|
@@ -293,7 +302,7 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
293
302
|
enqueueTiles(frameState, extent, z, tileTexturesByZ) {
|
|
294
303
|
const viewState = frameState.viewState;
|
|
295
304
|
const tileLayer = this.getLayer();
|
|
296
|
-
const tileSource = tileLayer.
|
|
305
|
+
const tileSource = tileLayer.getRenderSource();
|
|
297
306
|
const tileGrid = tileSource.getTileGridForProjection(viewState.projection);
|
|
298
307
|
const tileTextureCache = this.tileTextureCache_;
|
|
299
308
|
const tileRange = tileGrid.getTileRangeForExtentAndZ(
|
|
@@ -314,7 +323,7 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
314
323
|
for (let x = tileRange.minX; x <= tileRange.maxX; ++x) {
|
|
315
324
|
for (let y = tileRange.minY; y <= tileRange.maxY; ++y) {
|
|
316
325
|
const tileCoord = createTileCoord(z, x, y, this.tempTileCoord_);
|
|
317
|
-
const
|
|
326
|
+
const cacheKey = getCacheKey(tileSource, tileCoord);
|
|
318
327
|
|
|
319
328
|
/**
|
|
320
329
|
* @type {TileTexture}
|
|
@@ -326,8 +335,8 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
326
335
|
*/
|
|
327
336
|
let tile;
|
|
328
337
|
|
|
329
|
-
if (tileTextureCache.containsKey(
|
|
330
|
-
tileTexture = tileTextureCache.get(
|
|
338
|
+
if (tileTextureCache.containsKey(cacheKey)) {
|
|
339
|
+
tileTexture = tileTextureCache.get(cacheKey);
|
|
331
340
|
tile = tileTexture.tile;
|
|
332
341
|
}
|
|
333
342
|
if (!tileTexture || tileTexture.tile.key !== tileSource.getKey()) {
|
|
@@ -340,7 +349,7 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
340
349
|
);
|
|
341
350
|
if (!tileTexture) {
|
|
342
351
|
tileTexture = new TileTexture(tile, tileGrid, this.helper);
|
|
343
|
-
tileTextureCache.set(
|
|
352
|
+
tileTextureCache.set(cacheKey, tileTexture);
|
|
344
353
|
} else {
|
|
345
354
|
if (this.isDrawableTile_(tile)) {
|
|
346
355
|
tileTexture.setTile(tile);
|
|
@@ -379,12 +388,13 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
379
388
|
* @return {HTMLElement} The rendered element.
|
|
380
389
|
*/
|
|
381
390
|
renderFrame(frameState) {
|
|
391
|
+
this.renderComplete = true;
|
|
382
392
|
const gl = this.helper.getGL();
|
|
383
393
|
this.preRender(gl, frameState);
|
|
384
394
|
|
|
385
395
|
const viewState = frameState.viewState;
|
|
386
396
|
const tileLayer = this.getLayer();
|
|
387
|
-
const tileSource = tileLayer.
|
|
397
|
+
const tileSource = tileLayer.getRenderSource();
|
|
388
398
|
const tileGrid = tileSource.getTileGridForProjection(viewState.projection);
|
|
389
399
|
const extent = getRenderExtent(frameState, frameState.extent);
|
|
390
400
|
const z = tileGrid.getZForResolution(
|
|
@@ -438,6 +448,7 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
438
448
|
const tileCoordKey = getTileCoordKey(tileCoord);
|
|
439
449
|
alphaLookup[tileCoordKey] = alpha;
|
|
440
450
|
}
|
|
451
|
+
this.renderComplete = false;
|
|
441
452
|
|
|
442
453
|
// first look for child tiles (at z + 1)
|
|
443
454
|
const coveredByChildren = this.findAltTiles_(
|
|
@@ -635,9 +646,10 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
635
646
|
|
|
636
647
|
let covered = true;
|
|
637
648
|
const tileTextureCache = this.tileTextureCache_;
|
|
649
|
+
const source = this.getLayer().getRenderSource();
|
|
638
650
|
for (let x = tileRange.minX; x <= tileRange.maxX; ++x) {
|
|
639
651
|
for (let y = tileRange.minY; y <= tileRange.maxY; ++y) {
|
|
640
|
-
const cacheKey =
|
|
652
|
+
const cacheKey = getCacheKey(source, [altZ, x, y]);
|
|
641
653
|
let loaded = false;
|
|
642
654
|
if (tileTextureCache.containsKey(cacheKey)) {
|
|
643
655
|
const tileTexture = tileTextureCache.get(cacheKey);
|
package/src/source.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* @module ol/source
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
import LRUCache from './structs/LRUCache.js';
|
|
6
|
+
import {getIntersection} from './extent.js';
|
|
7
|
+
|
|
5
8
|
export {default as BingMaps} from './source/BingMaps.js';
|
|
6
9
|
export {default as CartoDB} from './source/CartoDB.js';
|
|
7
10
|
export {default as Cluster} from './source/Cluster.js';
|
|
@@ -31,3 +34,37 @@ export {default as VectorTile} from './source/VectorTile.js';
|
|
|
31
34
|
export {default as WMTS} from './source/WMTS.js';
|
|
32
35
|
export {default as XYZ} from './source/XYZ.js';
|
|
33
36
|
export {default as Zoomify} from './source/Zoomify.js';
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Creates a sources function from a tile grid. This function can be used as value for the
|
|
40
|
+
* `sources` property of the {@link module:ol/layer/Layer~Layer} subclasses that support it.
|
|
41
|
+
* @param {import("./tilegrid/TileGrid.js").default} tileGrid Tile grid.
|
|
42
|
+
* @param {function(import("./tilecoord.js").TileCoord): import("./source/Source.js").default} factory Source factory.
|
|
43
|
+
* This function takes a {@link module:ol/tilecoord~TileCoord} as argument and is expected to return a
|
|
44
|
+
* {@link module:ol/source/Source~Source}. **Note**: The returned sources should have a tile grid with
|
|
45
|
+
* a limited set of resolutions, matching the resolution range of a single zoom level of the pyramid
|
|
46
|
+
* `tileGrid` that `createFromTileGrid` was called with.
|
|
47
|
+
* @return {function(import("./extent.js").Extent, number): Array<import("./source/Source.js").default>} Sources function.
|
|
48
|
+
* @api
|
|
49
|
+
*/
|
|
50
|
+
export function sourcesFromTileGrid(tileGrid, factory) {
|
|
51
|
+
const sourceCache = new LRUCache(32);
|
|
52
|
+
const tileGridExtent = tileGrid.getExtent();
|
|
53
|
+
return function (extent, resolution) {
|
|
54
|
+
sourceCache.expireCache();
|
|
55
|
+
if (tileGridExtent) {
|
|
56
|
+
extent = getIntersection(tileGridExtent, extent);
|
|
57
|
+
}
|
|
58
|
+
const z = tileGrid.getZForResolution(resolution);
|
|
59
|
+
const wantedSources = [];
|
|
60
|
+
tileGrid.forEachTileCoord(extent, z, (tileCoord) => {
|
|
61
|
+
const key = tileCoord.toString();
|
|
62
|
+
if (!sourceCache.containsKey(key)) {
|
|
63
|
+
const source = factory(tileCoord);
|
|
64
|
+
sourceCache.set(key, source);
|
|
65
|
+
}
|
|
66
|
+
wantedSources.push(sourceCache.get(key));
|
|
67
|
+
});
|
|
68
|
+
return wantedSources;
|
|
69
|
+
};
|
|
70
|
+
}
|