ol 10.4.1-dev.1739394158290 → 10.4.1-dev.1739437265514

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,6 +1,6 @@
1
1
  {
2
2
  "name": "ol",
3
- "version": "10.4.1-dev.1739394158290",
3
+ "version": "10.4.1-dev.1739437265514",
4
4
  "description": "OpenLayers mapping library",
5
5
  "keywords": [
6
6
  "map",
@@ -61,9 +61,9 @@ declare class LayerRenderer<LayerType extends import("../layer/Layer.js").defaul
61
61
  * @abstract
62
62
  * @param {import("../Map.js").FrameState} frameState Frame state.
63
63
  * @param {HTMLElement|null} target Target that may be used to render content to.
64
- * @return {HTMLElement|null} The rendered element.
64
+ * @return {HTMLElement} The rendered element.
65
65
  */
66
- renderFrame(frameState: import("../Map.js").FrameState, target: HTMLElement | null): HTMLElement | null;
66
+ renderFrame(frameState: import("../Map.js").FrameState, target: HTMLElement | null): HTMLElement;
67
67
  /**
68
68
  * @abstract
69
69
  * @param {import("../coordinate.js").Coordinate} coordinate Coordinate.
@@ -1 +1 @@
1
- {"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["Layer.js"],"names":[],"mappings":";AAUA;;GAEG;AACH,4BAFmD,SAAS,SAA/C,OAAQ,mBAAmB,EAAE,OAAQ;IAGhD;;OAEG;IACH,mBAFW,SAAS,EA+BnB;IA1BC;;;OAGG;IACH,OAFU,OAAO,CAEA;IAEjB,eAAe;IACf,gCAAiE;IAEjE;;;OAGG;IACH,eAAmB;IAEnB;;;OAGG;IACH,mBAA6B;IAE7B;;;OAGG;IACH,wBAHU,MAAM,CAGgB;IAGlC;;OAEG;IACH,gBAFY,KAAK,CAAC,MAAM,CAAC,CAIxB;IAED;;OAEG;IACH,qBAFW,MAAM,QAOhB;IAED;;;;;OAKG;IACH,mBAJW,OAAO,aAAa,EAAE,KAAK,GAC1B,OAAO,CAAC,KAAK,CAAC,OAAO,YAAY,EAAE,WAAW,CAAC,CAAC,CAK3D;IAED;;;OAGG;IACH,eAHW,OAAO,aAAa,EAAE,KAAK,GAC1B,iBAAiB,GAAC,UAAU,GAAC,YAAY,GAAC,QAAQ,GAAC,IAAI,CAIlE;IAED;;;;;OAKG;IACH,yBAHW,OAAO,WAAW,EAAE,UAAU,GAC7B,OAAO,CAIlB;IAED;;;;;;OAMG;IACH,wBAJW,OAAO,WAAW,EAAE,UAAU,UAC9B,WAAW,GAAC,IAAI,GACf,WAAW,GAAC,IAAI,CAI3B;IAED;;;;;;;;;OASG;IACH,2BAFa,CAAC,cANH,OAAO,kBAAkB,EAAE,UAAU,cACrC,OAAO,WAAW,EAAE,UAAU,gBAC9B,MAAM,YACN,OAAO,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,WACxC,KAAK,CAAC,OAAO,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GACpC,CAAC,GAAC,SAAS,CAWtB;IAED;;OAEG;IACH,YAFY,SAAS,CAIpB;IAED;;;OAGG;IACH,2BAAuB;IAEvB;;;;OAIG;IACH,2BAQC;IAED;;;;;;OAMG;IACH,2BAJW,OAAO,aAAa,EAAE,OAAO,GAC5B,OAAO,CAalB;IAED;;OAEG;IACH,0CAKC;IAED;;OAEG;IACH,2BAFW,OAAO,WAAW,EAAE,UAAU,QAEZ;CAU9B;uBA9LsB,kBAAkB"}
1
+ {"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["Layer.js"],"names":[],"mappings":";AAUA;;GAEG;AACH,4BAFmD,SAAS,SAA/C,OAAQ,mBAAmB,EAAE,OAAQ;IAGhD;;OAEG;IACH,mBAFW,SAAS,EA+BnB;IA1BC;;;OAGG;IACH,OAFU,OAAO,CAEA;IAEjB,eAAe;IACf,gCAAiE;IAEjE;;;OAGG;IACH,eAAmB;IAEnB;;;OAGG;IACH,mBAA6B;IAE7B;;;OAGG;IACH,wBAHU,MAAM,CAGgB;IAGlC;;OAEG;IACH,gBAFY,KAAK,CAAC,MAAM,CAAC,CAIxB;IAED;;OAEG;IACH,qBAFW,MAAM,QAOhB;IAED;;;;;OAKG;IACH,mBAJW,OAAO,aAAa,EAAE,KAAK,GAC1B,OAAO,CAAC,KAAK,CAAC,OAAO,YAAY,EAAE,WAAW,CAAC,CAAC,CAK3D;IAED;;;OAGG;IACH,eAHW,OAAO,aAAa,EAAE,KAAK,GAC1B,iBAAiB,GAAC,UAAU,GAAC,YAAY,GAAC,QAAQ,GAAC,IAAI,CAIlE;IAED;;;;;OAKG;IACH,yBAHW,OAAO,WAAW,EAAE,UAAU,GAC7B,OAAO,CAIlB;IAED;;;;;;OAMG;IACH,wBAJW,OAAO,WAAW,EAAE,UAAU,UAC9B,WAAW,GAAC,IAAI,GACf,WAAW,CAItB;IAED;;;;;;;;;OASG;IACH,2BAFa,CAAC,cANH,OAAO,kBAAkB,EAAE,UAAU,cACrC,OAAO,WAAW,EAAE,UAAU,gBAC9B,MAAM,YACN,OAAO,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,WACxC,KAAK,CAAC,OAAO,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GACpC,CAAC,GAAC,SAAS,CAWtB;IAED;;OAEG;IACH,YAFY,SAAS,CAIpB;IAED;;;OAGG;IACH,2BAAuB;IAEvB;;;;OAIG;IACH,2BAQC;IAED;;;;;;OAMG;IACH,2BAJW,OAAO,aAAa,EAAE,OAAO,GAC5B,OAAO,CAalB;IAED;;OAEG;IACH,0CAKC;IAED;;OAEG;IACH,2BAFW,OAAO,WAAW,EAAE,UAAU,QAEZ;CAU9B;uBA9LsB,kBAAkB"}
package/renderer/Layer.js CHANGED
@@ -96,7 +96,7 @@ class LayerRenderer extends Observable {
96
96
  * @abstract
97
97
  * @param {import("../Map.js").FrameState} frameState Frame state.
98
98
  * @param {HTMLElement|null} target Target that may be used to render content to.
99
- * @return {HTMLElement|null} The rendered element.
99
+ * @return {HTMLElement} The rendered element.
100
100
  */
101
101
  renderFrame(frameState, target) {
102
102
  return abstract();
@@ -1 +1 @@
1
- {"version":3,"file":"VectorImageLayer.d.ts","sourceRoot":"","sources":["VectorImageLayer.js"],"names":[],"mappings":";AAcA;;;;GAIG;AACH;IACE;;OAEG;IACH,mBAFW,OAAO,4BAA4B,EAAE,OAAO,EA4BtD;IAvBC;;;OAGG;IACH,wBAA2D;IAE3D;;;OAGG;IACH,yBAA6C;IAE7C;;;OAGG;IACH,0CAAiD;IAEjD;;;OAGG;IACH,4CAA+C;IAYjD;;;;;OAKG;IACH,4BAJW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,eAAe,EAAE,OAAO,CAAC,CAAC,CAY1D;IAkHD;;OAEG;IACH,2BAAc;IAEd;;OAEG;IACH,4BAAe;IAEf;OACG;IACH,wBAAoB;CAoCrB;qCAlOoC,iBAAiB"}
1
+ {"version":3,"file":"VectorImageLayer.d.ts","sourceRoot":"","sources":["VectorImageLayer.js"],"names":[],"mappings":";AAcA;;;;GAIG;AACH;IACE;;OAEG;IACH,mBAFW,OAAO,4BAA4B,EAAE,OAAO,EA4BtD;IAvBC;;;OAGG;IACH,wBAA2D;IAE3D;;;OAGG;IACH,yBAA6C;IAE7C;;;OAGG;IACH,0CAAiD;IAEjD;;;OAGG;IACH,4CAA+C;IAYjD;;;;;OAKG;IACH,4BAJW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,eAAe,EAAE,OAAO,CAAC,CAAC,CAY1D;IA+GD;;OAEG;IACH,2BAAc;IAEd;;OAEG;IACH,4BAAe;IAEf;OACG;IACH,wBAAoB;CAoCrB;qCA/NoC,iBAAiB"}
@@ -133,7 +133,6 @@ class CanvasVectorImageLayerRenderer extends CanvasImageLayerRenderer {
133
133
  [declutter]: new RBush(9),
134
134
  };
135
135
  }
136
- let emptyImage = true;
137
136
  const image = new ImageCanvas(
138
137
  renderedExtent,
139
138
  viewResolution,
@@ -145,11 +144,9 @@ class CanvasVectorImageLayerRenderer extends CanvasImageLayerRenderer {
145
144
  vectorRenderer.replayGroupChanged
146
145
  ) {
147
146
  vectorRenderer.clipping = false;
148
- if (vectorRenderer.renderFrame(imageFrameState, null)) {
149
- vectorRenderer.renderDeclutter(imageFrameState);
150
- vectorRenderer.renderDeferred(imageFrameState);
151
- emptyImage = false;
152
- }
147
+ vectorRenderer.renderFrame(imageFrameState, null);
148
+ vectorRenderer.renderDeclutter(imageFrameState);
149
+ vectorRenderer.renderDeferred(imageFrameState);
153
150
  callback();
154
151
  }
155
152
  },
@@ -159,7 +156,7 @@ class CanvasVectorImageLayerRenderer extends CanvasImageLayerRenderer {
159
156
  if (image.getState() !== ImageState.LOADED) {
160
157
  return;
161
158
  }
162
- this.image = emptyImage ? null : image;
159
+ this.image = image;
163
160
  const imagePixelRatio = image.getPixelRatio();
164
161
  const renderedResolution =
165
162
  (fromResolutionLike(image.getResolution()) * pixelRatio) /
@@ -184,7 +181,7 @@ class CanvasVectorImageLayerRenderer extends CanvasImageLayerRenderer {
184
181
  frameState.pixelToCoordinateTransform.slice();
185
182
  }
186
183
 
187
- return !!this.image;
184
+ return !this.getLayer().getSource().loading && !!this.image;
188
185
  }
189
186
 
190
187
  /**
@@ -297,7 +297,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
297
297
  * Render the layer.
298
298
  * @param {import("../../Map.js").FrameState} frameState Frame state.
299
299
  * @param {HTMLElement|null} target Target that may be used to render content to.
300
- * @return {HTMLElement|null} The rendered element.
300
+ * @return {HTMLElement} The rendered element.
301
301
  * @override
302
302
  */
303
303
  renderFrame(frameState, target) {
@@ -315,7 +315,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
315
315
  this.getLayer().hasListener(RenderEventType.PRERENDER) ||
316
316
  this.getLayer().hasListener(RenderEventType.POSTRENDER);
317
317
  if (!hasRenderListeners) {
318
- return null;
318
+ return this.container;
319
319
  }
320
320
  }
321
321
 
@@ -194,6 +194,11 @@ declare class UTFGrid extends TileSource<Tile> {
194
194
  * @type {boolean}
195
195
  */
196
196
  private jsonp_;
197
+ /**
198
+ * @private
199
+ * @type {LRUCache}
200
+ */
201
+ private tileCache_;
197
202
  /**
198
203
  * @private
199
204
  * @param {Event} event The load event.
@@ -1 +1 @@
1
- {"version":3,"file":"UTFGrid.d.ts","sourceRoot":"","sources":["UTFGrid.js"],"names":[],"mappings":"AAeA;;;;;GAKG;AAEH;IACE;;;;;;;OAOG;IACH,uBAPW,OAAO,iBAAiB,EAAE,SAAS,mBAEnC,MAAM,UACN,OAAO,cAAc,EAAE,MAAM,cAC7B,OAAO,SACP,OAAO,EA8CjB;IAzCC;;;OAGG;IACH,aAAe;IAEf;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,oBAA6B;IAE7B;;;OAGG;IACH,cAAiB;IAEjB;;;OAGG;IACH,cAAiB;IAEjB;;;OAGG;IACH,cAAiB;IAEjB;;;OAGG;IACH,eAAmB;IAGrB;;;OAGG;IACH,YAFY,gBAAgB,CAI3B;IAED;;;;OAIG;IACH,oBAHW,OAAO,kBAAkB,EAAE,UAAU,GACpC,GAAC,CAoCZ;IAED;;;;;;;OAOG;IACH,gCALW,OAAO,kBAAkB,EAAE,UAAU,YACrC,CAAS,IAAC,EAAD,GAAC,KAAG,IAAI,YACjB,OAAO,QAmBjB;IAWD;;OAEG;IACH,qBAGC;IAED;;;OAGG;IACH,oBAOC;IAED;;OAEG;IACH,sBAiBC;IAED;;;OAGG;IACH,mBAiBC;IAED;;;OAGG;IACH,oBAEC;CAYF;;;;;;UApOa,KAAK,CAAC,MAAM,CAAC;;;;UACb,KAAK,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAdV,YAAY;AAmP7B;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;GAIG;AACH;IACE;;OAEG;IACH,qBAFW,OAAO,EAsDjB;IA5CC;;;OAGG;IACH,oBAC8D;IAE9D;;;OAGG;IACH,yBAA2C;IAE3C;;;OAGG;IACH,kBAA0B;IAE1B;;;OAGG;IACH,eAAoC;IAuBtC;;;OAGG;IACH,mBAiBC;IAED;;;OAGG;IACH,oBAEC;IAED;;;;OAIG;IACH,eAHY,MAAM,GAAC,SAAS,CAK3B;IAED;;;;;;;;;;OAUG;IACH,6CAPW,OAAO,kBAAkB,EAAE,UAAU,cACrC,MAAM,YACN,CAAS,IAAC,EAAD,GAAC,KAAG,IAAI,YACjB,OAAO,QA2BjB;IAED;;OAEG;IACH,sCAEC;IAED;;;;OAIG;IACH,2CAFW,OAAO,eAAe,EAAE,MAAM,QA8CxC;IAED;;;;;;;;OAQG;IACH,oBARW,MAAM,KACN,MAAM,KACN,MAAM,cACN,MAAM,cACN,OAAO,uBAAuB,EAAE,OAAO,GACrC,UAAU,CAmBtB;CACF;uBA7dsB,WAAW"}
1
+ {"version":3,"file":"UTFGrid.d.ts","sourceRoot":"","sources":["UTFGrid.js"],"names":[],"mappings":"AAiBA;;;;;GAKG;AAEH;IACE;;;;;;;OAOG;IACH,uBAPW,OAAO,iBAAiB,EAAE,SAAS,mBAEnC,MAAM,UACN,OAAO,cAAc,EAAE,MAAM,cAC7B,OAAO,SACP,OAAO,EA8CjB;IAzCC;;;OAGG;IACH,aAAe;IAEf;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,oBAA6B;IAE7B;;;OAGG;IACH,cAAiB;IAEjB;;;OAGG;IACH,cAAiB;IAEjB;;;OAGG;IACH,cAAiB;IAEjB;;;OAGG;IACH,eAAmB;IAGrB;;;OAGG;IACH,YAFY,gBAAgB,CAI3B;IAED;;;;OAIG;IACH,oBAHW,OAAO,kBAAkB,EAAE,UAAU,GACpC,GAAC,CAoCZ;IAED;;;;;;;OAOG;IACH,gCALW,OAAO,kBAAkB,EAAE,UAAU,YACrC,CAAS,IAAC,EAAD,GAAC,KAAG,IAAI,YACjB,OAAO,QAmBjB;IAWD;;OAEG;IACH,qBAGC;IAED;;;OAGG;IACH,oBAOC;IAED;;OAEG;IACH,sBAiBC;IAED;;;OAGG;IACH,mBAiBC;IAED;;;OAGG;IACH,oBAEC;CAYF;;;;;;UApOa,KAAK,CAAC,MAAM,CAAC;;;;UACb,KAAK,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAhBV,YAAY;AAqP7B;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;GAIG;AACH;IACE;;OAEG;IACH,qBAFW,OAAO,EA4DjB;IAlDC;;;OAGG;IACH,oBAC8D;IAE9D;;;OAGG;IACH,yBAA2C;IAE3C;;;OAGG;IACH,kBAA0B;IAE1B;;;OAGG;IACH,eAAoC;IAEpC;;;OAGG;IACH,mBAAmC;IAuBrC;;;OAGG;IACH,mBAiBC;IAED;;;OAGG;IACH,oBAEC;IAED;;;;OAIG;IACH,eAHY,MAAM,GAAC,SAAS,CAK3B;IAED;;;;;;;;;;OAUG;IACH,6CAPW,OAAO,kBAAkB,EAAE,UAAU,cACrC,MAAM,YACN,CAAS,IAAC,EAAD,GAAC,KAAG,IAAI,YACjB,OAAO,QA8BjB;IAED;;OAEG;IACH,sCAEC;IAED;;;;OAIG;IACH,2CAFW,OAAO,eAAe,EAAE,MAAM,QA8CxC;IAED;;;;;;;;OAQG;IACH,oBARW,MAAM,KACN,MAAM,KACN,MAAM,cACN,MAAM,cACN,OAAO,uBAAuB,EAAE,OAAO,GACrC,UAAU,CAyBtB;CACF;uBA5esB,WAAW"}
package/source/UTFGrid.js CHANGED
@@ -9,6 +9,8 @@ import {listenOnce} from '../events.js';
9
9
  import {applyTransform, intersects} from '../extent.js';
10
10
  import {jsonp as requestJSONP} from '../net.js';
11
11
  import {get as getProjection, getTransformFromProjections} from '../proj.js';
12
+ import LRUCache from '../structs/LRUCache.js';
13
+ import {getKeyZXY} from '../tilecoord.js';
12
14
  import {createXYZ, extentFromProjection} from '../tilegrid.js';
13
15
  import {createFromTemplates, nullTileUrlFunction} from '../tileurlfunction.js';
14
16
  import TileSource from './Tile.js';
@@ -307,6 +309,12 @@ class UTFGrid extends TileSource {
307
309
  */
308
310
  this.jsonp_ = options.jsonp || false;
309
311
 
312
+ /**
313
+ * @private
314
+ * @type {LRUCache}
315
+ */
316
+ this.tileCache_ = new LRUCache(512);
317
+
310
318
  if (options.url) {
311
319
  if (this.jsonp_) {
312
320
  requestJSONP(
@@ -392,6 +400,9 @@ class UTFGrid extends TileSource {
392
400
  this.getProjection(),
393
401
  )
394
402
  );
403
+ if (tile.getState() == TileState.IDLE) {
404
+ tile.load();
405
+ }
395
406
  tile.forDataAtCoordinate(coordinate, callback, request);
396
407
  } else {
397
408
  if (request === true) {
@@ -478,6 +489,11 @@ class UTFGrid extends TileSource {
478
489
  projection,
479
490
  );
480
491
  const tileUrl = this.tileUrlFunction_(urlTileCoord, pixelRatio, projection);
492
+ const tileKey = `${this.getKey()},${getKeyZXY(z, x, y)}`;
493
+ if (this.tileCache_.containsKey(tileKey)) {
494
+ return this.tileCache_.get(tileKey);
495
+ }
496
+ this.tileCache_.expireCache();
481
497
  const tile = new CustomTile(
482
498
  tileCoord,
483
499
  tileUrl !== undefined ? TileState.IDLE : TileState.EMPTY,
@@ -486,6 +502,7 @@ class UTFGrid extends TileSource {
486
502
  this.preemptive_,
487
503
  this.jsonp_,
488
504
  );
505
+ this.tileCache_.set(tileKey, tile);
489
506
  return tile;
490
507
  }
491
508
  }
package/util.js CHANGED
@@ -33,4 +33,4 @@ export function getUid(obj) {
33
33
  * OpenLayers version.
34
34
  * @type {string}
35
35
  */
36
- export const VERSION = '10.4.1-dev.1739394158290';
36
+ export const VERSION = '10.4.1-dev.1739437265514';