ol 7.0.1-dev.1661428378889 → 7.0.1-dev.1661440420569
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/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileLayer.d.ts","sourceRoot":"","sources":["TileLayer.js"],"names":[],"mappings":";AA8BA;;;;;;GAMG;AACH;IACE;;OAEG;IACH,uBAFW,SAAS,EA0DnB;IArDC;;;OAGG;IACH,eAFU,OAAO,CAEQ;IAEzB;;;OAGG;IACH,wBAA2B;IAE3B;;;OAGG;IACH,8BAFU,MAAM,CAEO;IAEvB;;;OAGG;IACH,8BAFU,OAAO,0BAA0B,EAAE,OAAO,CAEtB;IAE9B;;;OAGG;IACH,4BAFU,MAAM,CAEK;IAErB;;;OAGG;IACH,yBAFW,MAAM,OAAO,eAAe,EAAE,OAAO,CAAC,CAE1B;IAEvB;;;OAGG;IACH,kBAAsB;IAEtB;;;OAGG;IACH,qBAFU,OAAO,iBAAiB,EAAE,MAAM,CAEZ;IAE9B;;;OAGG;IACH,sBAA8C;IAGhD;;;;OAIG;IACH,+BAHW,OAAO,eAAe,EAAE,OAAO,GAC9B,OAAO,CAWlB;IAED;;;;;;OAMG;IACH,WANW,MAAM,KACN,MAAM,KACN,MAAM,cACN,OAAO,cAAc,EAAE,UAAU,GAC/B,OAAO,eAAe,EAAE,OAAO,CAkB3C;IAED;;;OAGG;IACH,eAHW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"TileLayer.d.ts","sourceRoot":"","sources":["TileLayer.js"],"names":[],"mappings":";AA8BA;;;;;;GAMG;AACH;IACE;;OAEG;IACH,uBAFW,SAAS,EA0DnB;IArDC;;;OAGG;IACH,eAFU,OAAO,CAEQ;IAEzB;;;OAGG;IACH,wBAA2B;IAE3B;;;OAGG;IACH,8BAFU,MAAM,CAEO;IAEvB;;;OAGG;IACH,8BAFU,OAAO,0BAA0B,EAAE,OAAO,CAEtB;IAE9B;;;OAGG;IACH,4BAFU,MAAM,CAEK;IAErB;;;OAGG;IACH,yBAFW,MAAM,OAAO,eAAe,EAAE,OAAO,CAAC,CAE1B;IAEvB;;;OAGG;IACH,kBAAsB;IAEtB;;;OAGG;IACH,qBAFU,OAAO,iBAAiB,EAAE,MAAM,CAEZ;IAE9B;;;OAGG;IACH,sBAA8C;IAGhD;;;;OAIG;IACH,+BAHW,OAAO,eAAe,EAAE,OAAO,GAC9B,OAAO,CAWlB;IAED;;;;;;OAMG;IACH,WANW,MAAM,KACN,MAAM,KACN,MAAM,cACN,OAAO,cAAc,EAAE,UAAU,GAC/B,OAAO,eAAe,EAAE,OAAO,CAkB3C;IAED;;;OAGG;IACH,eAHW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,CA4E5B;IAoWD;;;;;;;;;OASG;IACH,oBATW,OAAO,oBAAoB,EAAE,OAAO,cACpC,OAAO,cAAc,EAAE,UAAU,KACjC,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,UACN,MAAM,cACN,OAAO,QAqCjB;IAED;;OAEG;IACH,YAFY,iBAAiB,CAK5B;IAED;;;;;OAKG;IACH,6BAJW,OAAO,oBAAoB,EAAE,OAAO,GACnC,iBAAiB,GAAC,gBAAgB,GAAC,gBAAgB,CAK9D;IAED;;;;OAIG;IACH,0CAJW,OAAO,cAAc,EAAE,UAAU,cACjC,OAAO,sBAAsB,EAAE,OAAO,QA0BhD;IAED;;;;;OAKG;IACH;YALmB,MAAM;gBAAU,MAAM,GAAE,OAAO;;mBACvC,OAAO,sBAAsB,EAAE,OAAO,QACtC,OAAO,eAAe,EAAE,OAAO,QAUzC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,wCAXW,OAAO,cAAc,EAAE,UAAU,cACjC,OAAO,sBAAsB,EAAE,OAAO,YACtC,OAAO,4BAA4B,EAAE,OAAO,cAC5C,MAAM,cACN,OAAO,0BAA0B,EAAE,OAAO,UAC1C,OAAO,iBAAiB,EAAE,MAAM,YAChC,MAAM,WACN,MAAM,yBACG,OAAO,eAAe,EAAE,OAAO,KAAE,IAAI,qBAmExD;CACF"}
|
|
@@ -181,7 +181,10 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
|
|
|
181
181
|
pixelRatio,
|
|
182
182
|
projection
|
|
183
183
|
);
|
|
184
|
-
if (
|
|
184
|
+
if (
|
|
185
|
+
!(tile instanceof ImageTile || tile instanceof ReprojTile) ||
|
|
186
|
+
(tile instanceof ReprojTile && tile.getState() === TileState.EMPTY)
|
|
187
|
+
) {
|
|
185
188
|
return null;
|
|
186
189
|
}
|
|
187
190
|
|
|
@@ -158,10 +158,11 @@ declare class WebGLTileLayerRenderer extends WebGLLayerRenderer<import("../../la
|
|
|
158
158
|
* @param {import("../../extent.js").Extent} extent The extent to be rendered.
|
|
159
159
|
* @param {number} initialZ The zoom level.
|
|
160
160
|
* @param {Object<number, Array<TileTexture>>} tileTexturesByZ The zoom level.
|
|
161
|
+
* @param {number} preload Number of additional levels to load.
|
|
161
162
|
*/
|
|
162
163
|
enqueueTiles(frameState: import("../../Map.js").FrameState, extent: import("../../extent.js").Extent, initialZ: number, tileTexturesByZ: {
|
|
163
164
|
[x: number]: Array<TileTexture>;
|
|
164
|
-
}): void;
|
|
165
|
+
}, preload: number): void;
|
|
165
166
|
/**
|
|
166
167
|
* Render the layer.
|
|
167
168
|
* @param {import("../../Map.js").FrameState} frameState Frame state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileLayer.d.ts","sourceRoot":"","sources":["TileLayer.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"TileLayer.d.ts","sourceRoot":"","sources":["TileLayer.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;kBAkIc,MAAM;;;;oBACN,MAAM;;;;;;;;;;;;;;;;;wBAQP,OAAO,0BAA0B,EAAE,OAAO;AAXvD;;;;;;;;GAQG;AAEH;;GAEG;AAEH;;;;;GAKG;AACH;IACE;;;OAGG;IACH,uBAHW,SAAS,WACT,OAAO,EAmGjB;IA5FC;;;OAGG;IACH,gBAFU,OAAO,CAEU;IAE3B;;;;OAIG;IACH,uBAAuC;IAEvC;;;OAGG;IACH,kBAA6B;IAE7B;;;OAGG;IACH,uBAA+C;IAE/C;;;OAGG;IACH,uBAA8C;IAE9C;;;OAGG;IACH,kBAAuB;IAEvB;;;OAGG;IACH,iBAAa;IAEb;;OAEG;IACH,sBAAyC;IAEzC;;OAEG;IACH,wBAA6C;IAE7C;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAuE;IAKvE;;;OAGG;IACH,0BAAgD;IAEhD;;;OAGG;IACH,yBAAqD;IAErD;;;OAGG;IACH,oBAAuB;IAGzB;;OAEG;IACH,eAFW,OAAO,QAgBjB;IAWD;;;;OAIG;IACH,wBASC;IAoBD;;;;;;OAMG;IACH,yBANW,OAAO,cAAc,EAAE,UAAU,UACjC,OAAO,iBAAiB,EAAE,MAAM,YAChC,MAAM;YACC,MAAM,GAAE,MAAM,WAAW,CAAC;gBACjC,MAAM,QAwGhB;IAED;;;;OAIG;IACH,wBAHW,OAAO,cAAc,EAAE,UAAU,GAChC,WAAW,CAkStB;IAED;;;OAGG;IACH,eAHW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,GAAC,UAAU,GAAC,YAAY,GAAC,QAAQ,CAyF7D;IAED;;;;;;;;;;OAUG;IACH,sBA+BC;CA+BF"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @module ol/renderer/webgl/TileLayer
|
|
3
3
|
*/
|
|
4
4
|
import LRUCache from '../../structs/LRUCache.js';
|
|
5
|
+
import ReprojTile from '../../reproj/Tile.js';
|
|
5
6
|
import TileRange from '../../TileRange.js';
|
|
6
7
|
import TileState from '../../TileState.js';
|
|
7
8
|
import TileTexture from '../../webgl/TileTexture.js';
|
|
@@ -316,8 +317,9 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
316
317
|
* @param {import("../../extent.js").Extent} extent The extent to be rendered.
|
|
317
318
|
* @param {number} initialZ The zoom level.
|
|
318
319
|
* @param {Object<number, Array<TileTexture>>} tileTexturesByZ The zoom level.
|
|
320
|
+
* @param {number} preload Number of additional levels to load.
|
|
319
321
|
*/
|
|
320
|
-
enqueueTiles(frameState, extent, initialZ, tileTexturesByZ) {
|
|
322
|
+
enqueueTiles(frameState, extent, initialZ, tileTexturesByZ, preload) {
|
|
321
323
|
const viewState = frameState.viewState;
|
|
322
324
|
const tileLayer = this.getLayer();
|
|
323
325
|
const tileSource = tileLayer.getRenderSource();
|
|
@@ -330,12 +332,23 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
330
332
|
}
|
|
331
333
|
|
|
332
334
|
const wantedTiles = frameState.wantedTiles[tileSourceKey];
|
|
333
|
-
|
|
334
335
|
const tileTextureCache = this.tileTextureCache_;
|
|
336
|
+
|
|
337
|
+
const map = tileLayer.getMapInternal();
|
|
335
338
|
const minZ = Math.max(
|
|
336
|
-
initialZ -
|
|
339
|
+
initialZ - preload,
|
|
337
340
|
tileGrid.getMinZoom(),
|
|
338
|
-
|
|
341
|
+
tileGrid.getZForResolution(
|
|
342
|
+
Math.min(
|
|
343
|
+
tileLayer.getMaxResolution(),
|
|
344
|
+
map
|
|
345
|
+
? map
|
|
346
|
+
.getView()
|
|
347
|
+
.getResolutionForZoom(Math.max(tileLayer.getMinZoom(), 0))
|
|
348
|
+
: tileGrid.getResolution(0)
|
|
349
|
+
),
|
|
350
|
+
tileSource.zDirection
|
|
351
|
+
)
|
|
339
352
|
);
|
|
340
353
|
for (let z = initialZ; z >= minZ; --z) {
|
|
341
354
|
const tileRange = tileGrid.getTileRangeForExtentAndZ(
|
|
@@ -437,16 +450,34 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
437
450
|
*/
|
|
438
451
|
const tileTexturesByZ = {};
|
|
439
452
|
|
|
453
|
+
const preload = tileLayer.getPreload();
|
|
440
454
|
if (frameState.nextExtent) {
|
|
441
455
|
const targetZ = tileGrid.getZForResolution(
|
|
442
456
|
viewState.nextResolution,
|
|
443
457
|
tileSource.zDirection
|
|
444
458
|
);
|
|
445
459
|
const nextExtent = getRenderExtent(frameState, frameState.nextExtent);
|
|
446
|
-
this.enqueueTiles(
|
|
460
|
+
this.enqueueTiles(
|
|
461
|
+
frameState,
|
|
462
|
+
nextExtent,
|
|
463
|
+
targetZ,
|
|
464
|
+
tileTexturesByZ,
|
|
465
|
+
preload
|
|
466
|
+
);
|
|
447
467
|
}
|
|
448
468
|
|
|
449
|
-
this.enqueueTiles(frameState, extent, z, tileTexturesByZ);
|
|
469
|
+
this.enqueueTiles(frameState, extent, z, tileTexturesByZ, 0);
|
|
470
|
+
if (preload > 0) {
|
|
471
|
+
setTimeout(() => {
|
|
472
|
+
this.enqueueTiles(
|
|
473
|
+
frameState,
|
|
474
|
+
extent,
|
|
475
|
+
z - 1,
|
|
476
|
+
tileTexturesByZ,
|
|
477
|
+
preload - 1
|
|
478
|
+
);
|
|
479
|
+
}, 0);
|
|
480
|
+
}
|
|
450
481
|
|
|
451
482
|
/**
|
|
452
483
|
* A lookup of alpha values for tiles at the target rendering resolution
|
|
@@ -465,6 +496,9 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
465
496
|
for (let i = 0, ii = tileTextures.length; i < ii; ++i) {
|
|
466
497
|
const tileTexture = tileTextures[i];
|
|
467
498
|
const tile = tileTexture.tile;
|
|
499
|
+
if (tile instanceof ReprojTile && tile.getState() === TileState.EMPTY) {
|
|
500
|
+
continue;
|
|
501
|
+
}
|
|
468
502
|
const tileCoord = tile.tileCoord;
|
|
469
503
|
|
|
470
504
|
if (tileTexture.loaded) {
|
|
@@ -753,6 +787,10 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
753
787
|
continue;
|
|
754
788
|
}
|
|
755
789
|
const tileTexture = tileTextureCache.get(cacheKey);
|
|
790
|
+
const tile = tileTexture.tile;
|
|
791
|
+
if (tile instanceof ReprojTile && tile.getState() === TileState.EMPTY) {
|
|
792
|
+
return null;
|
|
793
|
+
}
|
|
756
794
|
if (!tileTexture.loaded) {
|
|
757
795
|
continue;
|
|
758
796
|
}
|
package/util.js
CHANGED