ol 9.2.5-dev.1718652616882 → 9.2.5-dev.1719254553242

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.
Files changed (143) hide show
  1. package/DataTile.d.ts +14 -0
  2. package/DataTile.d.ts.map +1 -1
  3. package/DataTile.js +24 -1
  4. package/Map.d.ts +1 -1
  5. package/Map.d.ts.map +1 -1
  6. package/Map.js +9 -10
  7. package/Tile.d.ts +2 -22
  8. package/Tile.d.ts.map +1 -1
  9. package/Tile.js +2 -77
  10. package/TileQueue.d.ts.map +1 -1
  11. package/TileQueue.js +6 -4
  12. package/VectorRenderTile.d.ts +8 -13
  13. package/VectorRenderTile.d.ts.map +1 -1
  14. package/VectorRenderTile.js +17 -24
  15. package/VectorTile.d.ts +5 -5
  16. package/VectorTile.d.ts.map +1 -1
  17. package/VectorTile.js +3 -3
  18. package/dist/ol.d.ts +10 -2
  19. package/dist/ol.d.ts.map +1 -1
  20. package/dist/ol.js +2 -2
  21. package/dist/ol.js.map +1 -1
  22. package/featureloader.d.ts +4 -4
  23. package/featureloader.d.ts.map +1 -1
  24. package/featureloader.js +2 -2
  25. package/format/EsriJSON.d.ts +1 -1
  26. package/format/Feature.d.ts +8 -8
  27. package/format/Feature.d.ts.map +1 -1
  28. package/format/Feature.js +7 -5
  29. package/format/GeoJSON.d.ts +9 -9
  30. package/format/GeoJSON.d.ts.map +1 -1
  31. package/format/GeoJSON.js +10 -14
  32. package/format/JSONFeature.d.ts +7 -7
  33. package/format/JSONFeature.d.ts.map +1 -1
  34. package/format/JSONFeature.js +9 -11
  35. package/format/MVT.d.ts +12 -12
  36. package/format/MVT.d.ts.map +1 -1
  37. package/format/MVT.js +12 -14
  38. package/format/TextFeature.d.ts +1 -1
  39. package/format/TopoJSON.d.ts +1 -1
  40. package/format/WKB.d.ts +1 -1
  41. package/format/XMLFeature.d.ts +1 -1
  42. package/interaction/DragAndDrop.d.ts +1 -1
  43. package/layer/BaseTile.d.ts +23 -6
  44. package/layer/BaseTile.d.ts.map +1 -1
  45. package/layer/BaseTile.js +22 -3
  46. package/layer/Tile.d.ts +1 -1
  47. package/layer/Tile.d.ts.map +1 -1
  48. package/layer/Tile.js +3 -1
  49. package/layer/VectorTile.d.ts +19 -6
  50. package/layer/VectorTile.d.ts.map +1 -1
  51. package/layer/VectorTile.js +20 -8
  52. package/layer/WebGLTile.d.ts +5 -10
  53. package/layer/WebGLTile.d.ts.map +1 -1
  54. package/layer/WebGLTile.js +3 -12
  55. package/package.json +1 -1
  56. package/renderer/Layer.d.ts +22 -25
  57. package/renderer/Layer.d.ts.map +1 -1
  58. package/renderer/Layer.js +36 -36
  59. package/renderer/canvas/TileLayer.d.ts +100 -38
  60. package/renderer/canvas/TileLayer.d.ts.map +1 -1
  61. package/renderer/canvas/TileLayer.js +542 -329
  62. package/renderer/canvas/VectorTileLayer.d.ts +11 -11
  63. package/renderer/canvas/VectorTileLayer.d.ts.map +1 -1
  64. package/renderer/canvas/VectorTileLayer.js +33 -46
  65. package/renderer/webgl/TileLayerBase.d.ts +0 -6
  66. package/renderer/webgl/TileLayerBase.d.ts.map +1 -1
  67. package/renderer/webgl/TileLayerBase.js +61 -78
  68. package/reproj/DataTile.d.ts.map +1 -1
  69. package/reproj/DataTile.js +103 -100
  70. package/source/BingMaps.d.ts +2 -2
  71. package/source/BingMaps.d.ts.map +1 -1
  72. package/source/BingMaps.js +1 -2
  73. package/source/CartoDB.d.ts +2 -2
  74. package/source/CartoDB.js +1 -1
  75. package/source/DataTile.d.ts +49 -20
  76. package/source/DataTile.d.ts.map +1 -1
  77. package/source/DataTile.js +56 -9
  78. package/source/GeoTIFF.d.ts +2 -6
  79. package/source/GeoTIFF.d.ts.map +1 -1
  80. package/source/GeoTIFF.js +3 -3
  81. package/source/Google.d.ts.map +1 -1
  82. package/source/Google.js +0 -2
  83. package/source/IIIF.d.ts +1 -1
  84. package/source/IIIF.js +1 -1
  85. package/source/ImageTile.d.ts +102 -0
  86. package/source/ImageTile.d.ts.map +1 -0
  87. package/source/ImageTile.js +208 -0
  88. package/source/OGCMapTile.d.ts +2 -2
  89. package/source/OGCMapTile.js +1 -1
  90. package/source/OGCVectorTile.d.ts +4 -4
  91. package/source/OGCVectorTile.js +2 -2
  92. package/source/OSM.d.ts +2 -7
  93. package/source/OSM.d.ts.map +1 -1
  94. package/source/OSM.js +1 -3
  95. package/source/StadiaMaps.d.ts +2 -2
  96. package/source/StadiaMaps.d.ts.map +1 -1
  97. package/source/StadiaMaps.js +2 -18
  98. package/source/Tile.d.ts +7 -36
  99. package/source/Tile.d.ts.map +1 -1
  100. package/source/Tile.js +5 -69
  101. package/source/TileArcGISRest.d.ts +2 -2
  102. package/source/TileArcGISRest.js +1 -1
  103. package/source/TileDebug.d.ts.map +1 -1
  104. package/source/TileDebug.js +0 -1
  105. package/source/TileImage.d.ts +7 -11
  106. package/source/TileImage.d.ts.map +1 -1
  107. package/source/TileImage.js +11 -43
  108. package/source/TileJSON.d.ts +2 -2
  109. package/source/TileJSON.js +1 -1
  110. package/source/TileWMS.d.ts +2 -2
  111. package/source/TileWMS.d.ts.map +1 -1
  112. package/source/TileWMS.js +1 -4
  113. package/source/UTFGrid.d.ts +1 -1
  114. package/source/UrlTile.d.ts +14 -12
  115. package/source/UrlTile.d.ts.map +1 -1
  116. package/source/UrlTile.js +12 -7
  117. package/source/Vector.d.ts +5 -5
  118. package/source/Vector.d.ts.map +1 -1
  119. package/source/Vector.js +3 -3
  120. package/source/VectorTile.d.ts +4 -17
  121. package/source/VectorTile.d.ts.map +1 -1
  122. package/source/VectorTile.js +10 -85
  123. package/source/WMTS.d.ts +2 -2
  124. package/source/WMTS.js +3 -3
  125. package/source/XYZ.d.ts +14 -17
  126. package/source/XYZ.d.ts.map +1 -1
  127. package/source/XYZ.js +7 -8
  128. package/source/Zoomify.d.ts +2 -2
  129. package/source/Zoomify.d.ts.map +1 -1
  130. package/source/Zoomify.js +3 -2
  131. package/source.d.ts +1 -0
  132. package/source.d.ts.map +1 -1
  133. package/source.js +1 -0
  134. package/tilecoord.d.ts +7 -0
  135. package/tilecoord.d.ts.map +1 -1
  136. package/tilecoord.js +11 -1
  137. package/tileurlfunction.d.ts +3 -7
  138. package/tileurlfunction.d.ts.map +1 -1
  139. package/tileurlfunction.js +14 -47
  140. package/uri.d.ts +23 -3
  141. package/uri.d.ts.map +1 -1
  142. package/uri.js +75 -0
  143. package/util.js +1 -1
@@ -3,7 +3,7 @@ export default BaseTileLayer;
3
3
  * *
4
4
  */
5
5
  export type BaseTileLayerOnSignature<Return> = import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> & import("../Observable").OnSignature<import("./Base").BaseLayerObjectEventTypes | import("./Layer.js").LayerEventType | 'change:preload' | 'change:useInterimTilesOnError', import("../Object").ObjectEvent, Return> & import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default, Return> & import("../Observable").CombinedOnSignature<import("../Observable").EventTypes | import("./Base").BaseLayerObjectEventTypes | import("./Layer.js").LayerEventType | 'change:preload' | 'change:useInterimTilesOnError' | import("../render/EventType").LayerRenderEventTypes, Return>;
6
- export type Options<TileSourceType extends import("../source/Tile.js").default> = {
6
+ export type Options<TileSourceType extends import("../source/Tile.js").default<import("../Tile.js").default>> = {
7
7
  /**
8
8
  * A CSS class name to set to the layer element.
9
9
  */
@@ -65,7 +65,7 @@ export type Options<TileSourceType extends import("../source/Tile.js").default>
65
65
  */
66
66
  map?: import("../Map.js").default | undefined;
67
67
  /**
68
- * Use interim tiles on error.
68
+ * Deprecated. Use interim tiles on error.
69
69
  */
70
70
  useInterimTilesOnError?: boolean | undefined;
71
71
  /**
@@ -74,6 +74,11 @@ export type Options<TileSourceType extends import("../source/Tile.js").default>
74
74
  properties?: {
75
75
  [x: string]: any;
76
76
  } | undefined;
77
+ /**
78
+ * The internal tile cache size. This needs to be large enough to render
79
+ * two zoom levels worth of tiles.
80
+ */
81
+ cacheSize?: number | undefined;
77
82
  };
78
83
  /***
79
84
  * @template Return
@@ -111,8 +116,10 @@ export type Options<TileSourceType extends import("../source/Tile.js").default>
111
116
  * this layer in its layers collection, and the layer will be rendered on top. This is useful for
112
117
  * temporary layers. The standard way to add a layer to a map and have it managed by the map is to
113
118
  * use {@link import("../Map.js").default#addLayer map.addLayer()}.
114
- * @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error.
119
+ * @property {boolean} [useInterimTilesOnError=true] Deprecated. Use interim tiles on error.
115
120
  * @property {Object<string, *>} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.
121
+ * @property {number} [cacheSize=512] The internal tile cache size. This needs to be large enough to render
122
+ * two zoom levels worth of tiles.
116
123
  */
117
124
  /**
118
125
  * @classdesc
@@ -127,7 +134,7 @@ export type Options<TileSourceType extends import("../source/Tile.js").default>
127
134
  * @extends {Layer<TileSourceType, RendererType>}
128
135
  * @api
129
136
  */
130
- declare class BaseTileLayer<TileSourceType extends import("../source/Tile.js").default, RendererType extends import("../renderer/Layer.js").default<any>> extends Layer<TileSourceType, RendererType> {
137
+ declare class BaseTileLayer<TileSourceType extends import("../source/Tile.js").default<import("../Tile.js").default>, RendererType extends import("../renderer/Layer.js").default<any>> extends Layer<TileSourceType, RendererType> {
131
138
  /**
132
139
  * @param {Options<TileSourceType>} [options] Tile layer options.
133
140
  */
@@ -144,6 +151,16 @@ declare class BaseTileLayer<TileSourceType extends import("../source/Tile.js").d
144
151
  * @type {BaseTileLayerOnSignature<void>}
145
152
  */
146
153
  un: BaseTileLayerOnSignature<void>;
154
+ /**
155
+ * @type {number|undefined}
156
+ * @private
157
+ */
158
+ private cacheSize_;
159
+ /**
160
+ * @return {number|undefined} The suggested cache size
161
+ * @protected
162
+ */
163
+ protected getCacheSize(): number | undefined;
147
164
  /**
148
165
  * Return the level as number to which we will preload tiles up to.
149
166
  * @return {number} The level to preload tiles up to.
@@ -159,14 +176,14 @@ declare class BaseTileLayer<TileSourceType extends import("../source/Tile.js").d
159
176
  */
160
177
  setPreload(preload: number): void;
161
178
  /**
162
- * Whether we use interim tiles on error.
179
+ * Deprecated. Whether we use interim tiles on error.
163
180
  * @return {boolean} Use interim tiles on error.
164
181
  * @observable
165
182
  * @api
166
183
  */
167
184
  getUseInterimTilesOnError(): boolean;
168
185
  /**
169
- * Set whether we use interim tiles on error.
186
+ * Deprecated. Set whether we use interim tiles on error.
170
187
  * @param {boolean} useInterimTilesOnError Use interim tiles on error.
171
188
  * @observable
172
189
  * @api
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTile.d.ts","sourceRoot":"","sources":["BaseTile.js"],"names":[],"mappings":";;;;+CAQa,OAAO,eAAe,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,EAAE,OAAO,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,GACjI,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,QAAQ,EAAE,yBAAyB,GAClF,OAAa,YAAY,EAAE,cAAc,GAAC,gBAAgB,GAAC,+BAA+B,EAAE,OAAO,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,GACpI,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,qBAAqB,EAAE,qBAAqB,EAAE,OAAO,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,GACvI,OAAW,eAAe,EAAE,mBAAmB,CAAC,OAAO,eAAe,EAAE,UAAU,GAAC,OAAO,QAAQ,EAAE,yBAAyB,GAC7H,OAAW,YAAY,EAAE,cAAc,GAAC,gBAAgB,GAAC,+BAA+B,GAAC,OAAO,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAPtJ;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;;;;;;;;GAYG;AACH;IACE;;OAEG;IACH,2DA8BC;IArBC;;OAEG;IACH,IAFU,yBAAyB,OAAO,WAAW,EAAE,SAAS,CAAC,CAE1D;IAEP;;OAEG;IACH,MAFU,yBAAyB,OAAO,WAAW,EAAE,SAAS,CAAC,CAExD;IAET;;OAEG;IACH,IAFU,yBAAyB,IAAI,CAAC,CAEjC;IAUT;;;;;OAKG;IACH,cAJY,MAAM,CAMjB;IAED;;;;;OAKG;IACH,oBAJW,MAAM,QAMhB;IAED;;;;;OAKG;IACH,6BAJY,OAAO,CAQlB;IAED;;;;;OAKG;IACH,kDAJW,OAAO,QAMjB;CAqBF;kBA1JiB,YAAY"}
1
+ {"version":3,"file":"BaseTile.d.ts","sourceRoot":"","sources":["BaseTile.js"],"names":[],"mappings":";;;;+CAQa,OAAO,eAAe,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,EAAE,OAAO,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,GACjI,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,QAAQ,EAAE,yBAAyB,GAClF,OAAa,YAAY,EAAE,cAAc,GAAC,gBAAgB,GAAC,+BAA+B,EAAE,OAAO,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,GACpI,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,qBAAqB,EAAE,qBAAqB,EAAE,OAAO,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,GACvI,OAAW,eAAe,EAAE,mBAAmB,CAAC,OAAO,eAAe,EAAE,UAAU,GAAC,OAAO,QAAQ,EAAE,yBAAyB,GAC7H,OAAW,YAAY,EAAE,cAAc,GAAC,gBAAgB,GAAC,+BAA+B,GAAC,OAAO,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAPtJ;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH;;;;;;;;;;;;GAYG;AACH;IACE;;OAEG;IACH,2DAuCC;IA3BC;;OAEG;IACH,IAFU,yBAAyB,OAAO,WAAW,EAAE,SAAS,CAAC,CAE1D;IAEP;;OAEG;IACH,MAFU,yBAAyB,OAAO,WAAW,EAAE,SAAS,CAAC,CAExD;IAET;;OAEG;IACH,IAFU,yBAAyB,IAAI,CAAC,CAEjC;IAEP;;;OAGG;IACH,mBAA2B;IAU7B;;;OAGG;IACH,0BAHY,MAAM,GAAC,SAAS,CAK3B;IAED;;;;;OAKG;IACH,cAJY,MAAM,CAMjB;IAED;;;;;OAKG;IACH,oBAJW,MAAM,QAMhB;IAED;;;;;OAKG;IACH,6BAJY,OAAO,CAQlB;IAED;;;;;OAKG;IACH,kDAJW,OAAO,QAMjB;CAqBF;kBA7KiB,YAAY"}
package/layer/BaseTile.js CHANGED
@@ -41,8 +41,10 @@ import TileProperty from './TileProperty.js';
41
41
  * this layer in its layers collection, and the layer will be rendered on top. This is useful for
42
42
  * temporary layers. The standard way to add a layer to a map and have it managed by the map is to
43
43
  * use {@link import("../Map.js").default#addLayer map.addLayer()}.
44
- * @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error.
44
+ * @property {boolean} [useInterimTilesOnError=true] Deprecated. Use interim tiles on error.
45
45
  * @property {Object<string, *>} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.
46
+ * @property {number} [cacheSize=512] The internal tile cache size. This needs to be large enough to render
47
+ * two zoom levels worth of tiles.
46
48
  */
47
49
 
48
50
  /**
@@ -67,6 +69,9 @@ class BaseTileLayer extends Layer {
67
69
 
68
70
  const baseOptions = Object.assign({}, options);
69
71
 
72
+ const cacheSize = options.cacheSize;
73
+ delete options.cacheSize;
74
+
70
75
  delete baseOptions.preload;
71
76
  delete baseOptions.useInterimTilesOnError;
72
77
  super(baseOptions);
@@ -86,6 +91,12 @@ class BaseTileLayer extends Layer {
86
91
  */
87
92
  this.un;
88
93
 
94
+ /**
95
+ * @type {number|undefined}
96
+ * @private
97
+ */
98
+ this.cacheSize_ = cacheSize;
99
+
89
100
  this.setPreload(options.preload !== undefined ? options.preload : 0);
90
101
  this.setUseInterimTilesOnError(
91
102
  options.useInterimTilesOnError !== undefined
@@ -94,6 +105,14 @@ class BaseTileLayer extends Layer {
94
105
  );
95
106
  }
96
107
 
108
+ /**
109
+ * @return {number|undefined} The suggested cache size
110
+ * @protected
111
+ */
112
+ getCacheSize() {
113
+ return this.cacheSize_;
114
+ }
115
+
97
116
  /**
98
117
  * Return the level as number to which we will preload tiles up to.
99
118
  * @return {number} The level to preload tiles up to.
@@ -115,7 +134,7 @@ class BaseTileLayer extends Layer {
115
134
  }
116
135
 
117
136
  /**
118
- * Whether we use interim tiles on error.
137
+ * Deprecated. Whether we use interim tiles on error.
119
138
  * @return {boolean} Use interim tiles on error.
120
139
  * @observable
121
140
  * @api
@@ -127,7 +146,7 @@ class BaseTileLayer extends Layer {
127
146
  }
128
147
 
129
148
  /**
130
- * Set whether we use interim tiles on error.
149
+ * Deprecated. Set whether we use interim tiles on error.
131
150
  * @param {boolean} useInterimTilesOnError Use interim tiles on error.
132
151
  * @observable
133
152
  * @api
package/layer/Tile.d.ts CHANGED
@@ -11,7 +11,7 @@ export default TileLayer;
11
11
  * @extends BaseTileLayer<TileSourceType, CanvasTileLayerRenderer>
12
12
  * @api
13
13
  */
14
- declare class TileLayer<TileSourceType extends import("../source/Tile.js").default = import("../source/Tile.js").default> extends BaseTileLayer<TileSourceType, CanvasTileLayerRenderer<TileLayer<import("../source/Tile.js").default> | import("./VectorTile.js").default<import("../source.js").VectorTile<any>, any>>> {
14
+ declare class TileLayer<TileSourceType extends import("../source/Tile.js").default<import("../Tile.js").default> = import("../source/Tile.js").default<import("../Tile.js").default>> extends BaseTileLayer<TileSourceType, CanvasTileLayerRenderer<TileLayer<import("../source/Tile.js").default<import("../Tile.js").default>> | import("./VectorTile.js").default<import("../source.js").VectorTile<any>, any>>> {
15
15
  /**
16
16
  * @param {import("./BaseTile.js").Options<TileSourceType>} [options] Tile layer options.
17
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["Tile.js"],"names":[],"mappings":";AAMA;;;;;;;;;;;GAWG;AACH;IACE;;OAEG;IACH,mFAEC;IAED,gDAEC;CACF;oCAzBmC,iCAAiC;0BAD3C,eAAe"}
1
+ {"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["Tile.js"],"names":[],"mappings":";AAMA;;;;;;;;;;;GAWG;AACH;IACE;;OAEG;IACH,mFAEC;IAED,gDAIC;CACF;oCA3BmC,iCAAiC;0BAD3C,eAAe"}
package/layer/Tile.js CHANGED
@@ -25,7 +25,9 @@ class TileLayer extends BaseTileLayer {
25
25
  }
26
26
 
27
27
  createRenderer() {
28
- return new CanvasTileLayerRenderer(this);
28
+ return new CanvasTileLayerRenderer(this, {
29
+ cacheSize: this.getCacheSize(),
30
+ });
29
31
  }
30
32
  }
31
33
 
@@ -126,7 +126,7 @@ export type Options<VectorTileSourceType extends import("../source/VectorTile.js
126
126
  */
127
127
  preload?: number | undefined;
128
128
  /**
129
- * Use interim tiles on error.
129
+ * Deprecated. Use interim tiles on error.
130
130
  */
131
131
  useInterimTilesOnError?: boolean | undefined;
132
132
  /**
@@ -135,6 +135,11 @@ export type Options<VectorTileSourceType extends import("../source/VectorTile.js
135
135
  properties?: {
136
136
  [x: string]: any;
137
137
  } | undefined;
138
+ /**
139
+ * The internal tile cache size. If too small, this will auto-grow to hold
140
+ * two zoom levels worth of tiles.
141
+ */
142
+ cacheSize?: number | undefined;
138
143
  };
139
144
  /***
140
145
  * @template Return
@@ -153,7 +158,7 @@ export type Options<VectorTileSourceType extends import("../source/VectorTile.js
153
158
  * @typedef {T extends import("../source/VectorTile.js").default<infer U extends import("../Feature.js").FeatureLike> ? U : never} ExtractedFeatureType
154
159
  */
155
160
  /**
156
- * @template {import("../source/VectorTile.js").default<FeatureType>} [VectorTileSourceType=import("../source/VectorTile.js").default<*>]
161
+ * @template {import("../source/VectorTile.js").default<FeatureType>} [VectorTileSourceType=import("../source/VectorTile.js").default<*, *>]
157
162
  * @template {import("../Feature").FeatureLike} [FeatureType=ExtractedFeatureType<VectorTileSourceType>]
158
163
  * @typedef {Object} Options
159
164
  * @property {string} [className='ol-layer'] A CSS class name to set to the layer element.
@@ -212,8 +217,10 @@ export type Options<VectorTileSourceType extends import("../source/VectorTile.js
212
217
  * recreated during interactions. See also `updateWhileAnimating`.
213
218
  * @property {number} [preload=0] Preload. Load low-resolution tiles up to `preload` levels. `0`
214
219
  * means no preloading.
215
- * @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error.
220
+ * @property {boolean} [useInterimTilesOnError=true] Deprecated. Use interim tiles on error.
216
221
  * @property {Object<string, *>} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.
222
+ * @property {number} [cacheSize=0] The internal tile cache size. If too small, this will auto-grow to hold
223
+ * two zoom levels worth of tiles.
217
224
  */
218
225
  /**
219
226
  * @classdesc
@@ -222,7 +229,7 @@ export type Options<VectorTileSourceType extends import("../source/VectorTile.js
222
229
  * property on the layer object; for example, setting `title: 'My Title'` in the
223
230
  * options means that `title` is observable, and has get/set accessors.
224
231
  *
225
- * @template {import("../source/VectorTile.js").default<FeatureType>} [VectorTileSourceType=import("../source/VectorTile.js").default<*>]
232
+ * @template {import("../source/VectorTile.js").default<FeatureType>} [VectorTileSourceType=import("../source/VectorTile.js").default<*, *>]
226
233
  * @template {import("../Feature.js").FeatureLike} [FeatureType=ExtractedFeatureType<VectorTileSourceType>]
227
234
  * @extends {BaseVectorLayer<FeatureType, VectorTileSourceType, CanvasVectorTileLayerRenderer>}
228
235
  * @api
@@ -244,11 +251,17 @@ declare class VectorTileLayer<VectorTileSourceType extends import("../source/Vec
244
251
  * @type {VectorTileLayerOnSignature<void>}
245
252
  */
246
253
  un: VectorTileLayerOnSignature<void>;
254
+ /**
255
+ * @type {number|undefined}
256
+ * @private
257
+ */
258
+ private cacheSize_;
247
259
  /**
248
260
  * @private
249
261
  * @type {VectorTileRenderType}
250
262
  */
251
263
  private renderMode_;
264
+ getFeaturesInExtent(extent: any): void;
252
265
  /**
253
266
  * @return {VectorTileRenderType} The render mode.
254
267
  */
@@ -261,7 +274,7 @@ declare class VectorTileLayer<VectorTileSourceType extends import("../source/Vec
261
274
  */
262
275
  getPreload(): number;
263
276
  /**
264
- * Whether we use interim tiles on error.
277
+ * Deprecated. Whether we use interim tiles on error.
265
278
  * @return {boolean} Use interim tiles on error.
266
279
  * @observable
267
280
  * @api
@@ -275,7 +288,7 @@ declare class VectorTileLayer<VectorTileSourceType extends import("../source/Vec
275
288
  */
276
289
  setPreload(preload: number): void;
277
290
  /**
278
- * Set whether we use interim tiles on error.
291
+ * Deprecated. Set whether we use interim tiles on error.
279
292
  * @param {boolean} useInterimTilesOnError Use interim tiles on error.
280
293
  * @observable
281
294
  * @api
@@ -1 +1 @@
1
- {"version":3,"file":"VectorTile.d.ts","sourceRoot":"","sources":["VectorTile.js"],"names":[],"mappings":";;;;iDAUa,OAAO,eAAe,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,EAAE,OAAO,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,GACjI,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,QAAQ,EAAE,yBAAyB,GAClF,OAAa,YAAY,EAAE,cAAc,GAAC,gBAAgB,GAAC,+BAA+B,EAAE,OAAO,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,GACpI,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,qBAAqB,EAAE,qBAAqB,EAAE,OAAO,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,GACvI,OAAW,eAAe,EAAE,mBAAmB,CAAC,OAAO,eAAe,EAAE,UAAU,GAAC,OAAO,QAAQ,EAAE,yBAAyB,GAC7H,OAAa,YAAY,EAAE,cAAc,GAAC,gBAAgB,GAAC,+BAA+B,GAAC,OAAO,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,CAAC;mCAI3I,QAAQ,GAAG,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAXhC;;;;;;;;GAQG;AAEH;;GAEG;AAEH;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAEH;;;;;;;;;;;GAWG;AACH;IACE;;OAEG;IACH,8EAwDC;IA/CC;;OAEG;IACH,IAFU,2BAA2B,OAAO,WAAW,EAAE,SAAS,CAAC,CAE5D;IAEP;;OAEG;IACH,MAFU,2BAA2B,OAAO,WAAW,EAAE,SAAS,CAAC,CAE1D;IAET;;OAEG;IACH,IAFU,2BAA2B,IAAI,CAAC,CAEnC;IAQP;;;OAGG;IACH,oBAA6B;IAgD/B;;OAEG;IACH,iBAFY,oBAAoB,CAI/B;IAED;;;;;OAKG;IACH,cAJY,MAAM,CAMjB;IAED;;;;;OAKG;IACH,6BAJY,OAAO,CAQlB;IAED;;;;;OAKG;IACH,oBAJW,MAAM,QAMhB;IAED;;;;;OAKG;IACH,kDAJW,OAAO,QAMjB;CACF;0CAzOyC,uCAAuC;4BADrD,iBAAiB"}
1
+ {"version":3,"file":"VectorTile.d.ts","sourceRoot":"","sources":["VectorTile.js"],"names":[],"mappings":";;;;iDAUa,OAAO,eAAe,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,EAAE,OAAO,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,GACjI,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,QAAQ,EAAE,yBAAyB,GAClF,OAAa,YAAY,EAAE,cAAc,GAAC,gBAAgB,GAAC,+BAA+B,EAAE,OAAO,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,GACpI,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,qBAAqB,EAAE,qBAAqB,EAAE,OAAO,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,GACvI,OAAW,eAAe,EAAE,mBAAmB,CAAC,OAAO,eAAe,EAAE,UAAU,GAAC,OAAO,QAAQ,EAAE,yBAAyB,GAC7H,OAAa,YAAY,EAAE,cAAc,GAAC,gBAAgB,GAAC,+BAA+B,GAAC,OAAO,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,CAAC;mCAI3I,QAAQ,GAAG,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAXhC;;;;;;;;GAQG;AAEH;;GAEG;AAEH;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAEH;;;;;;;;;;;GAWG;AACH;IACE;;OAEG;IACH,8EAgEC;IArDC;;OAEG;IACH,IAFU,2BAA2B,OAAO,WAAW,EAAE,SAAS,CAAC,CAE5D;IAEP;;OAEG;IACH,MAFU,2BAA2B,OAAO,WAAW,EAAE,SAAS,CAAC,CAE1D;IAET;;OAEG;IACH,IAFU,2BAA2B,IAAI,CAAC,CAEnC;IAEP;;;OAGG;IACH,mBAA2B;IAQ3B;;;OAGG;IACH,oBAA6B;IAgD/B,uCAA8B;IAE9B;;OAEG;IACH,iBAFY,oBAAoB,CAI/B;IAED;;;;;OAKG;IACH,cAJY,MAAM,CAMjB;IAED;;;;;OAKG;IACH,6BAJY,OAAO,CAQlB;IAED;;;;;OAKG;IACH,oBAJW,MAAM,QAMhB;IAED;;;;;OAKG;IACH,kDAJW,OAAO,QAMjB;CACF;0CArPyC,uCAAuC;4BADrD,iBAAiB"}
@@ -26,7 +26,7 @@ import {assert} from '../asserts.js';
26
26
  */
27
27
 
28
28
  /**
29
- * @template {import("../source/VectorTile.js").default<FeatureType>} [VectorTileSourceType=import("../source/VectorTile.js").default<*>]
29
+ * @template {import("../source/VectorTile.js").default<FeatureType>} [VectorTileSourceType=import("../source/VectorTile.js").default<*, *>]
30
30
  * @template {import("../Feature").FeatureLike} [FeatureType=ExtractedFeatureType<VectorTileSourceType>]
31
31
  * @typedef {Object} Options
32
32
  * @property {string} [className='ol-layer'] A CSS class name to set to the layer element.
@@ -85,8 +85,10 @@ import {assert} from '../asserts.js';
85
85
  * recreated during interactions. See also `updateWhileAnimating`.
86
86
  * @property {number} [preload=0] Preload. Load low-resolution tiles up to `preload` levels. `0`
87
87
  * means no preloading.
88
- * @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error.
88
+ * @property {boolean} [useInterimTilesOnError=true] Deprecated. Use interim tiles on error.
89
89
  * @property {Object<string, *>} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.
90
+ * @property {number} [cacheSize=0] The internal tile cache size. If too small, this will auto-grow to hold
91
+ * two zoom levels worth of tiles.
90
92
  */
91
93
 
92
94
  /**
@@ -96,7 +98,7 @@ import {assert} from '../asserts.js';
96
98
  * property on the layer object; for example, setting `title: 'My Title'` in the
97
99
  * options means that `title` is observable, and has get/set accessors.
98
100
  *
99
- * @template {import("../source/VectorTile.js").default<FeatureType>} [VectorTileSourceType=import("../source/VectorTile.js").default<*>]
101
+ * @template {import("../source/VectorTile.js").default<FeatureType>} [VectorTileSourceType=import("../source/VectorTile.js").default<*, *>]
100
102
  * @template {import("../Feature.js").FeatureLike} [FeatureType=ExtractedFeatureType<VectorTileSourceType>]
101
103
  * @extends {BaseVectorLayer<FeatureType, VectorTileSourceType, CanvasVectorTileLayerRenderer>}
102
104
  * @api
@@ -110,6 +112,8 @@ class VectorTileLayer extends BaseVectorLayer {
110
112
 
111
113
  const baseOptions = Object.assign({}, options);
112
114
  delete baseOptions.preload;
115
+ const cacheSize = options.cacheSize === undefined ? 0 : options.cacheSize;
116
+ delete options.cacheSize;
113
117
  delete baseOptions.useInterimTilesOnError;
114
118
 
115
119
  super(baseOptions);
@@ -129,6 +133,12 @@ class VectorTileLayer extends BaseVectorLayer {
129
133
  */
130
134
  this.un;
131
135
 
136
+ /**
137
+ * @type {number|undefined}
138
+ * @private
139
+ */
140
+ this.cacheSize_ = cacheSize;
141
+
132
142
  const renderMode = options.renderMode || 'hybrid';
133
143
  assert(
134
144
  renderMode == 'hybrid' || renderMode == 'vector',
@@ -164,9 +174,9 @@ class VectorTileLayer extends BaseVectorLayer {
164
174
  }
165
175
 
166
176
  createRenderer() {
167
- return new CanvasVectorTileLayerRenderer(
168
- /** @type {VectorTileLayer} */ (this),
169
- );
177
+ return new CanvasVectorTileLayerRenderer(this, {
178
+ cacheSize: this.cacheSize_,
179
+ });
170
180
  }
171
181
 
172
182
  /**
@@ -187,6 +197,8 @@ class VectorTileLayer extends BaseVectorLayer {
187
197
  return super.getFeatures(pixel);
188
198
  }
189
199
 
200
+ getFeaturesInExtent(extent) {}
201
+
190
202
  /**
191
203
  * @return {VectorTileRenderType} The render mode.
192
204
  */
@@ -205,7 +217,7 @@ class VectorTileLayer extends BaseVectorLayer {
205
217
  }
206
218
 
207
219
  /**
208
- * Whether we use interim tiles on error.
220
+ * Deprecated. Whether we use interim tiles on error.
209
221
  * @return {boolean} Use interim tiles on error.
210
222
  * @observable
211
223
  * @api
@@ -227,7 +239,7 @@ class VectorTileLayer extends BaseVectorLayer {
227
239
  }
228
240
 
229
241
  /**
230
- * Set whether we use interim tiles on error.
242
+ * Deprecated. Set whether we use interim tiles on error.
231
243
  * @param {boolean} useInterimTilesOnError Use interim tiles on error.
232
244
  * @observable
233
245
  * @api
@@ -1,5 +1,5 @@
1
1
  export default WebGLTileLayer;
2
- export type SourceType = import("../source/DataTile.js").default | import("../source/TileImage.js").default;
2
+ export type SourceType = import("../source/DataTile.js").default;
3
3
  /**
4
4
  * Translates tile data to rendered pixels.
5
5
  */
@@ -100,7 +100,7 @@ export type Options = {
100
100
  /**
101
101
  * Source for this layer.
102
102
  */
103
- source?: SourceType | undefined;
103
+ source?: import("../source/DataTile.js").default<import("../DataTile.js").default> | undefined;
104
104
  /**
105
105
  * Array
106
106
  * of sources for this layer. Takes precedence over `source`. Can either be an array of sources, or a function that
@@ -108,7 +108,7 @@ export type Options = {
108
108
  * {@link module :ol/source.sourcesFromTileGrid} for a helper function to generate sources that are organized in a
109
109
  * pyramid following the same pattern as a tile grid. **Note:** All sources must have the same band count and content.
110
110
  */
111
- sources?: SourceType[] | ((arg0: import("../extent.js").Extent, arg1: number) => Array<SourceType>) | undefined;
111
+ sources?: import("../source/DataTile.js").default<import("../DataTile.js").default>[] | ((arg0: import("../extent.js").Extent, arg1: number) => Array<SourceType>) | undefined;
112
112
  /**
113
113
  * Sets the layer as overlay on a map. The map will not manage
114
114
  * this layer in its layers collection, and the layer will be rendered on top. This is useful for
@@ -117,7 +117,7 @@ export type Options = {
117
117
  */
118
118
  map?: import("../Map.js").default | undefined;
119
119
  /**
120
- * Use interim tiles on error.
120
+ * Deprecated. Use interim tiles on error.
121
121
  */
122
122
  useInterimTilesOnError?: boolean | undefined;
123
123
  /**
@@ -164,7 +164,7 @@ export type ParsedStyle = {
164
164
  * @fires import("../render/Event.js").RenderEvent
165
165
  * @api
166
166
  */
167
- declare class WebGLTileLayer extends BaseTileLayer<SourceType, WebGLTileLayerRenderer> {
167
+ declare class WebGLTileLayer extends BaseTileLayer<import("../source/DataTile.js").default<import("../DataTile.js").default>, WebGLTileLayerRenderer> {
168
168
  /**
169
169
  * @param {Options} options Tile layer options.
170
170
  */
@@ -189,11 +189,6 @@ declare class WebGLTileLayer extends BaseTileLayer<SourceType, WebGLTileLayerRen
189
189
  * @private
190
190
  */
191
191
  private style_;
192
- /**
193
- * @type {number}
194
- * @private
195
- */
196
- private cacheSize_;
197
192
  /**
198
193
  * @type {Object<string, (string|number)>}
199
194
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"WebGLTile.d.ts","sourceRoot":"","sources":["WebGLTile.js"],"names":[],"mappings":";yBAmBa,OAAO,uBAAuB,EAAE,OAAO,GAAC,OAAO,wBAAwB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCA+CpD,OAAO,cAAc,EAAE,MAAM,QAAE,MAAM,KAAE,MAAM,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiBnF,MAAM;;;;oBACN,MAAM;;;;;YACC,MAAM,GAAC,OAAO,oBAAoB,EAAE,YAAY;;;;;qBACvD,MAAM,OAAO,4BAA4B,EAAE,OAAO,CAAC;;AA0LjE;;;;;;;;;;;GAWG;AACH;IACE;;OAEG;IACH,qBAFW,OAAO,EAkDjB;IArCC;;;OAGG;IACH,iBAA+B;IAE/B;;;OAGG;IACH,wBAA2B;IAE3B;;;OAGG;IACH,4BAA8B;IAE9B;;;OAGG;IACH,eAAmB;IAEnB;;;OAGG;IACH,mBAA2B;IAE3B;;;OAGG;IACH,wBAAkD;IAKpD;;;;;OAKG;IACH,mBAJW,OAAO,cAAc,EAAE,MAAM,cAC7B,MAAM,GACL,MAAM,UAAU,CAAC,CAW5B;IAED;;OAEG;IACH,mBAFY,UAAU,CAIrB;IAUD;;OAEG;IACH,4BAOC;IAED;;;OAGG;IACH,4BAMC;IAcD;;;;OAIG;IACH,0BAJW,OAAO,QAAQ,EAAE,UAAU,WAC3B,MAAM,UAAU,CAAC,GAChB,WAAW,CAYtB;IAED;;;;;OAKG;IACH,mBALY,OAAO,WAAW,EAAE,UAAU,iBAC/B,WAAW,GAEV,WAAW,CAsCtB;IAED;;;;;;;OAOG;IACH,gBAFW,KAAK,QAcf;IAED;;;;OAIG;IACH;YAHkB,MAAM,GAAE,MAAM;aAM/B;CACF;mCA1eM,gCAAgC;0BALb,eAAe"}
1
+ {"version":3,"file":"WebGLTile.d.ts","sourceRoot":"","sources":["WebGLTile.js"],"names":[],"mappings":";yBAmBa,OAAO,uBAAuB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGA+CX,OAAO,cAAc,EAAE,MAAM,QAAE,MAAM,KAAE,MAAM,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiBnF,MAAM;;;;oBACN,MAAM;;;;;YACC,MAAM,GAAC,OAAO,oBAAoB,EAAE,YAAY;;;;;qBACvD,MAAM,OAAO,4BAA4B,EAAE,OAAO,CAAC;;AA0LjE;;;;;;;;;;;GAWG;AACH;IACE;;OAEG;IACH,qBAFW,OAAO,EAyCjB;IA/BC;;;OAGG;IACH,iBAA+B;IAE/B;;;OAGG;IACH,wBAA2B;IAE3B;;;OAGG;IACH,4BAA8B;IAE9B;;;OAGG;IACH,eAAmB;IAEnB;;;OAGG;IACH,wBAAkD;IAKpD;;;;;OAKG;IACH,mBAJW,OAAO,cAAc,EAAE,MAAM,cAC7B,MAAM,GACL,MAAM,UAAU,CAAC,CAW5B;IAED;;OAEG;IACH,mBAFY,UAAU,CAIrB;IAUD;;OAEG;IACH,4BAOC;IAED;;;OAGG;IACH,4BAMC;IAcD;;;;OAIG;IACH,0BAJW,OAAO,QAAQ,EAAE,UAAU,WAC3B,MAAM,UAAU,CAAC,GAChB,WAAW,CAYtB;IAED;;;;;OAKG;IACH,mBALY,OAAO,WAAW,EAAE,UAAU,iBAC/B,WAAW,GAEV,WAAW,CAsCtB;IAED;;;;;;;OAOG;IACH,gBAFW,KAAK,QAcf;IAED;;;;OAIG;IACH;YAHkB,MAAM,GAAE,MAAM;aAM/B;CACF;mCAjeM,gCAAgC;0BALb,eAAe"}
@@ -17,7 +17,7 @@ import {
17
17
  import {expressionToGlsl} from '../webgl/styleparser.js';
18
18
 
19
19
  /**
20
- * @typedef {import("../source/DataTile.js").default|import("../source/TileImage.js").default} SourceType
20
+ * @typedef {import("../source/DataTile.js").default} SourceType
21
21
  */
22
22
 
23
23
  /**
@@ -73,7 +73,7 @@ import {expressionToGlsl} from '../webgl/styleparser.js';
73
73
  * this layer in its layers collection, and the layer will be rendered on top. This is useful for
74
74
  * temporary layers. The standard way to add a layer to a map and have it managed by the map is to
75
75
  * use {@link module:ol/Map~Map#addLayer}.
76
- * @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error.
76
+ * @property {boolean} [useInterimTilesOnError=true] Deprecated. Use interim tiles on error.
77
77
  * @property {number} [cacheSize=512] The internal texture cache size. This needs to be large enough to render
78
78
  * two zoom levels worth of tiles.
79
79
  * @property {Object<string, *>} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.
@@ -292,9 +292,6 @@ class WebGLTileLayer extends BaseTileLayer {
292
292
  const style = options.style || {};
293
293
  delete options.style;
294
294
 
295
- const cacheSize = options.cacheSize;
296
- delete options.cacheSize;
297
-
298
295
  super(options);
299
296
 
300
297
  /**
@@ -321,12 +318,6 @@ class WebGLTileLayer extends BaseTileLayer {
321
318
  */
322
319
  this.style_ = style;
323
320
 
324
- /**
325
- * @type {number}
326
- * @private
327
- */
328
- this.cacheSize_ = cacheSize;
329
-
330
321
  /**
331
322
  * @type {Object<string, (string|number)>}
332
323
  * @private
@@ -399,7 +390,7 @@ class WebGLTileLayer extends BaseTileLayer {
399
390
  vertexShader: parsedStyle.vertexShader,
400
391
  fragmentShader: parsedStyle.fragmentShader,
401
392
  uniforms: parsedStyle.uniforms,
402
- cacheSize: this.cacheSize_,
393
+ cacheSize: this.getCacheSize(),
403
394
  paletteTextures: parsedStyle.paletteTextures,
404
395
  });
405
396
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ol",
3
- "version": "9.2.5-dev.1718652616882",
3
+ "version": "9.2.5-dev.1719254553242",
4
4
  "description": "OpenLayers mapping library",
5
5
  "keywords": [
6
6
  "map",
@@ -19,6 +19,28 @@ declare class LayerRenderer<LayerType extends import("../layer/Layer.js").defaul
19
19
  * @type {LayerType}
20
20
  */
21
21
  protected layer_: LayerType;
22
+ /**
23
+ * @type {import("../render/canvas/ExecutorGroup").default}
24
+ */
25
+ declutterExecutorGroup: import("../render/canvas/ExecutorGroup").default;
26
+ /**
27
+ * @type {Array<string>}
28
+ * @private
29
+ */
30
+ private staleKeys_;
31
+ /**
32
+ * @type {number}
33
+ * @protected
34
+ */
35
+ protected maxStaleKeys: number;
36
+ /**
37
+ * @return {Array<string>} Get the list of stale keys.
38
+ */
39
+ getStaleKeys(): Array<string>;
40
+ /**
41
+ * @param {string} key The new stale key.
42
+ */
43
+ prependStaleKey(key: string): void;
22
44
  /**
23
45
  * Asynchronous layer level hit detection.
24
46
  * @param {import("../pixel.js").Pixel} pixel Pixel.
@@ -46,31 +68,6 @@ declare class LayerRenderer<LayerType extends import("../layer/Layer.js").defaul
46
68
  * @return {HTMLElement|null} The rendered element.
47
69
  */
48
70
  renderFrame(frameState: import("../Map.js").FrameState, target: HTMLElement | null): HTMLElement | null;
49
- /**
50
- * @param {Object<number, Object<string, import("../Tile.js").default>>} tiles Lookup of loaded tiles by zoom level.
51
- * @param {number} zoom Zoom level.
52
- * @param {import("../Tile.js").default} tile Tile.
53
- * @return {boolean|void} If `false`, the tile will not be considered loaded.
54
- */
55
- loadedTileCallback(tiles: {
56
- [x: number]: {
57
- [x: string]: import("../Tile.js").default;
58
- };
59
- }, zoom: number, tile: import("../Tile.js").default): boolean | void;
60
- /**
61
- * Create a function that adds loaded tiles to the tile lookup.
62
- * @param {import("../source/Tile.js").default} source Tile source.
63
- * @param {import("../proj/Projection.js").default} projection Projection of the tiles.
64
- * @param {Object<number, Object<string, import("../Tile.js").default>>} tiles Lookup of loaded tiles by zoom level.
65
- * @return {function(number, import("../TileRange.js").default):boolean} A function that can be
66
- * called with a zoom level and a tile range to add loaded tiles to the lookup.
67
- * @protected
68
- */
69
- protected createLoadedTileFinder(source: import("../source/Tile.js").default, projection: import("../proj/Projection.js").default, tiles: {
70
- [x: number]: {
71
- [x: string]: import("../Tile.js").default;
72
- };
73
- }): (arg0: number, arg1: import("../TileRange.js").default) => boolean;
74
71
  /**
75
72
  * @abstract
76
73
  * @param {import("../coordinate.js").Coordinate} coordinate Coordinate.
@@ -1 +1 @@
1
- {"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["Layer.js"],"names":[],"mappings":";AAQA;;GAEG;AACH;IACE;;OAEG;IACH,mBAFW,SAAS,EAmBnB;IAdC;;;OAGG;IACH,OAFU,OAAO,CAEA;IAEjB,eAAe;IACf,gCAAiE;IAEjE;;;OAGG;IACH,kBAFU,SAAS,CAEA;IAGrB;;;;;OAKG;IACH,mBAJW,OAAO,aAAa,EAAE,KAAK,GAC1B,QAAQ,MAAM,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;;;;;OAKG;IACH;YALkB,MAAM;gBAAS,MAAM,GAAE,OAAO,YAAY,EAAE,OAAO;;aAC1D,MAAM,QACN,OAAO,YAAY,EAAE,OAAO,GAC3B,OAAO,GAAC,IAAI,CAQvB;IAED;;;;;;;;OAQG;IACH,yCAPW,OAAO,mBAAmB,EAAE,OAAO,cACnC,OAAO,uBAAuB,EAAE,OAAO;YAChC,MAAM;gBAAS,MAAM,GAAE,OAAO,YAAY,EAAE,OAAO;;eAChD,MAAM,QAAE,OAAO,iBAAiB,EAAE,OAAO,KAAE,OAAO,CAgBtE;IACD;;;;;;;;;OASG;IACH,0CARW,OAAO,kBAAkB,EAAE,UAAU,cACrC,OAAO,WAAW,EAAE,UAAU,gBAC9B,MAAM,gHAchB;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;CAS9B;uBAjMsB,kBAAkB"}
1
+ {"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["Layer.js"],"names":[],"mappings":";AAUA;;GAEG;AACH;IACE;;OAEG;IACH,mBAFW,SAAS,EAoCnB;IA/BC;;;OAGG;IACH,OAFU,OAAO,CAEA;IAEjB,eAAe;IACf,gCAAiE;IAEjE;;;OAGG;IACH,kBAFU,SAAS,CAEA;IAEnB;;OAEG;IACH,wBAFU,OAAO,gCAAgC,EAAE,OAAO,CAExB;IAElC;;;OAGG;IACH,mBAA6B;IAE7B;;;OAGG;IACH,wBAHU,MAAM,CAGgB;IAGlC;;OAEG;IACH,gBAFY,MAAM,MAAM,CAAC,CAIxB;IAED;;OAEG;IACH,qBAFW,MAAM,QAOhB;IAED;;;;;OAKG;IACH,mBAJW,OAAO,aAAa,EAAE,KAAK,GAC1B,QAAQ,MAAM,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,0CARW,OAAO,kBAAkB,EAAE,UAAU,cACrC,OAAO,WAAW,EAAE,UAAU,gBAC9B,MAAM,gHAchB;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;CAS9B;uBAjMsB,kBAAkB"}
package/renderer/Layer.js CHANGED
@@ -6,6 +6,8 @@ import ImageState from '../ImageState.js';
6
6
  import Observable from '../Observable.js';
7
7
  import {abstract} from '../util.js';
8
8
 
9
+ const maxStaleKeys = 5;
10
+
9
11
  /**
10
12
  * @template {import("../layer/Layer.js").default} LayerType
11
13
  */
@@ -30,6 +32,40 @@ class LayerRenderer extends Observable {
30
32
  * @type {LayerType}
31
33
  */
32
34
  this.layer_ = layer;
35
+
36
+ /**
37
+ * @type {import("../render/canvas/ExecutorGroup").default}
38
+ */
39
+ this.declutterExecutorGroup = null;
40
+
41
+ /**
42
+ * @type {Array<string>}
43
+ * @private
44
+ */
45
+ this.staleKeys_ = new Array();
46
+
47
+ /**
48
+ * @type {number}
49
+ * @protected
50
+ */
51
+ this.maxStaleKeys = maxStaleKeys;
52
+ }
53
+
54
+ /**
55
+ * @return {Array<string>} Get the list of stale keys.
56
+ */
57
+ getStaleKeys() {
58
+ return this.staleKeys_;
59
+ }
60
+
61
+ /**
62
+ * @param {string} key The new stale key.
63
+ */
64
+ prependStaleKey(key) {
65
+ this.staleKeys_.unshift(key);
66
+ if (this.staleKeys_.length > this.maxStaleKeys) {
67
+ this.staleKeys_.length = this.maxStaleKeys;
68
+ }
33
69
  }
34
70
 
35
71
  /**
@@ -71,42 +107,6 @@ class LayerRenderer extends Observable {
71
107
  return abstract();
72
108
  }
73
109
 
74
- /**
75
- * @param {Object<number, Object<string, import("../Tile.js").default>>} tiles Lookup of loaded tiles by zoom level.
76
- * @param {number} zoom Zoom level.
77
- * @param {import("../Tile.js").default} tile Tile.
78
- * @return {boolean|void} If `false`, the tile will not be considered loaded.
79
- */
80
- loadedTileCallback(tiles, zoom, tile) {
81
- if (!tiles[zoom]) {
82
- tiles[zoom] = {};
83
- }
84
- tiles[zoom][tile.tileCoord.toString()] = tile;
85
- return undefined;
86
- }
87
-
88
- /**
89
- * Create a function that adds loaded tiles to the tile lookup.
90
- * @param {import("../source/Tile.js").default} source Tile source.
91
- * @param {import("../proj/Projection.js").default} projection Projection of the tiles.
92
- * @param {Object<number, Object<string, import("../Tile.js").default>>} tiles Lookup of loaded tiles by zoom level.
93
- * @return {function(number, import("../TileRange.js").default):boolean} A function that can be
94
- * called with a zoom level and a tile range to add loaded tiles to the lookup.
95
- * @protected
96
- */
97
- createLoadedTileFinder(source, projection, tiles) {
98
- return (
99
- /**
100
- * @param {number} zoom Zoom level.
101
- * @param {import("../TileRange.js").default} tileRange Tile range.
102
- * @return {boolean} The tile range is fully loaded.
103
- */
104
- (zoom, tileRange) => {
105
- const callback = this.loadedTileCallback.bind(this, tiles, zoom);
106
- return source.forEachLoadedTile(projection, zoom, tileRange, callback);
107
- }
108
- );
109
- }
110
110
  /**
111
111
  * @abstract
112
112
  * @param {import("../coordinate.js").Coordinate} coordinate Coordinate.