ol 9.2.5-dev.1718652616882 → 9.2.5-dev.1718925536936
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/DataTile.d.ts +14 -0
- package/DataTile.d.ts.map +1 -1
- package/DataTile.js +24 -1
- package/Map.d.ts +1 -1
- package/Map.d.ts.map +1 -1
- package/Map.js +9 -10
- package/Tile.d.ts +2 -22
- package/Tile.d.ts.map +1 -1
- package/Tile.js +2 -77
- package/TileQueue.d.ts.map +1 -1
- package/TileQueue.js +6 -4
- package/VectorRenderTile.d.ts +8 -13
- package/VectorRenderTile.d.ts.map +1 -1
- package/VectorRenderTile.js +17 -24
- package/VectorTile.d.ts +5 -5
- package/VectorTile.d.ts.map +1 -1
- package/VectorTile.js +3 -3
- package/dist/ol.d.ts +10 -2
- package/dist/ol.d.ts.map +1 -1
- package/dist/ol.js +2 -2
- package/dist/ol.js.map +1 -1
- package/featureloader.d.ts +4 -4
- package/featureloader.d.ts.map +1 -1
- package/featureloader.js +2 -2
- package/format/EsriJSON.d.ts +1 -1
- package/format/Feature.d.ts +8 -8
- package/format/Feature.d.ts.map +1 -1
- package/format/Feature.js +7 -5
- package/format/GeoJSON.d.ts +9 -9
- package/format/GeoJSON.d.ts.map +1 -1
- package/format/GeoJSON.js +10 -14
- package/format/JSONFeature.d.ts +7 -7
- package/format/JSONFeature.d.ts.map +1 -1
- package/format/JSONFeature.js +9 -11
- package/format/MVT.d.ts +12 -12
- package/format/MVT.d.ts.map +1 -1
- package/format/MVT.js +12 -14
- package/format/TextFeature.d.ts +1 -1
- package/format/TopoJSON.d.ts +1 -1
- package/format/WKB.d.ts +1 -1
- package/format/XMLFeature.d.ts +1 -1
- package/interaction/DragAndDrop.d.ts +1 -1
- package/layer/BaseTile.d.ts +23 -6
- package/layer/BaseTile.d.ts.map +1 -1
- package/layer/BaseTile.js +22 -3
- package/layer/Tile.d.ts +1 -1
- package/layer/Tile.d.ts.map +1 -1
- package/layer/Tile.js +3 -1
- package/layer/VectorTile.d.ts +19 -6
- package/layer/VectorTile.d.ts.map +1 -1
- package/layer/VectorTile.js +20 -8
- package/layer/WebGLTile.d.ts +5 -10
- package/layer/WebGLTile.d.ts.map +1 -1
- package/layer/WebGLTile.js +3 -12
- package/package.json +1 -1
- package/renderer/Layer.d.ts +22 -25
- package/renderer/Layer.d.ts.map +1 -1
- package/renderer/Layer.js +36 -36
- package/renderer/canvas/TileLayer.d.ts +100 -38
- package/renderer/canvas/TileLayer.d.ts.map +1 -1
- package/renderer/canvas/TileLayer.js +542 -329
- package/renderer/canvas/VectorTileLayer.d.ts +11 -11
- package/renderer/canvas/VectorTileLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorTileLayer.js +33 -46
- package/renderer/webgl/TileLayerBase.d.ts +0 -6
- package/renderer/webgl/TileLayerBase.d.ts.map +1 -1
- package/renderer/webgl/TileLayerBase.js +61 -78
- package/reproj/DataTile.d.ts.map +1 -1
- package/reproj/DataTile.js +103 -100
- package/source/BingMaps.d.ts +2 -2
- package/source/BingMaps.d.ts.map +1 -1
- package/source/BingMaps.js +1 -2
- package/source/CartoDB.d.ts +2 -2
- package/source/CartoDB.js +1 -1
- package/source/DataTile.d.ts +49 -20
- package/source/DataTile.d.ts.map +1 -1
- package/source/DataTile.js +56 -9
- package/source/GeoTIFF.d.ts +2 -6
- package/source/GeoTIFF.d.ts.map +1 -1
- package/source/GeoTIFF.js +3 -3
- package/source/Google.d.ts.map +1 -1
- package/source/Google.js +0 -2
- package/source/IIIF.d.ts +1 -1
- package/source/IIIF.js +1 -1
- package/source/ImageTile.d.ts +102 -0
- package/source/ImageTile.d.ts.map +1 -0
- package/source/ImageTile.js +208 -0
- package/source/OGCMapTile.d.ts +2 -2
- package/source/OGCMapTile.js +1 -1
- package/source/OGCVectorTile.d.ts +4 -4
- package/source/OGCVectorTile.js +2 -2
- package/source/OSM.d.ts +2 -7
- package/source/OSM.d.ts.map +1 -1
- package/source/OSM.js +1 -3
- package/source/StadiaMaps.d.ts +2 -2
- package/source/StadiaMaps.d.ts.map +1 -1
- package/source/StadiaMaps.js +2 -18
- package/source/Tile.d.ts +7 -36
- package/source/Tile.d.ts.map +1 -1
- package/source/Tile.js +5 -69
- package/source/TileArcGISRest.d.ts +2 -2
- package/source/TileArcGISRest.js +1 -1
- package/source/TileDebug.d.ts.map +1 -1
- package/source/TileDebug.js +0 -1
- package/source/TileImage.d.ts +7 -11
- package/source/TileImage.d.ts.map +1 -1
- package/source/TileImage.js +11 -43
- package/source/TileJSON.d.ts +2 -2
- package/source/TileJSON.js +1 -1
- package/source/TileWMS.d.ts +2 -2
- package/source/TileWMS.d.ts.map +1 -1
- package/source/TileWMS.js +1 -4
- package/source/UTFGrid.d.ts +1 -1
- package/source/UrlTile.d.ts +14 -12
- package/source/UrlTile.d.ts.map +1 -1
- package/source/UrlTile.js +12 -7
- package/source/Vector.d.ts +5 -5
- package/source/Vector.d.ts.map +1 -1
- package/source/Vector.js +3 -3
- package/source/VectorTile.d.ts +4 -17
- package/source/VectorTile.d.ts.map +1 -1
- package/source/VectorTile.js +10 -85
- package/source/WMTS.d.ts +2 -2
- package/source/WMTS.js +3 -3
- package/source/XYZ.d.ts +14 -17
- package/source/XYZ.d.ts.map +1 -1
- package/source/XYZ.js +7 -8
- package/source/Zoomify.d.ts +2 -2
- package/source/Zoomify.d.ts.map +1 -1
- package/source/Zoomify.js +3 -2
- package/source.d.ts +1 -0
- package/source.d.ts.map +1 -1
- package/source.js +1 -0
- package/tilecoord.d.ts +7 -0
- package/tilecoord.d.ts.map +1 -1
- package/tilecoord.js +11 -1
- package/tileurlfunction.d.ts +3 -7
- package/tileurlfunction.d.ts.map +1 -1
- package/tileurlfunction.js +14 -47
- package/uri.d.ts +23 -3
- package/uri.d.ts.map +1 -1
- package/uri.js +75 -0
- package/util.js +1 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ol/source/ImageTile
|
|
3
|
+
*/
|
|
4
|
+
import DataTileSource from './DataTile.js';
|
|
5
|
+
import {expandUrl, pickUrl, renderXYZTemplate} from '../uri.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Image tile loading function. The function is called with z, x, and y tile coordinates and
|
|
9
|
+
* returns an {@link import("../DataTile.js").ImageLike image} or a promise for the same.
|
|
10
|
+
*
|
|
11
|
+
* @typedef {function(number, number, number, import("./DataTile.js").LoaderOptions):(import("../DataTile.js").ImageLike|Promise<import("../DataTile.js").ImageLike>)} Loader
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @typedef {function(number, number, number, import("./DataTile.js").LoaderOptions):string} UrlGetter
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @typedef {string | Array<string> | UrlGetter} UrlLike
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @typedef {Object} Options
|
|
24
|
+
* @property {UrlLike} [url] The image URL template. In addition to a single URL template, an array of URL templates or a function
|
|
25
|
+
* can be provided. If a function is provided, it will be called with z, x, y tile coordinates and loader options and should
|
|
26
|
+
* return a URL.
|
|
27
|
+
* @property {Loader} [loader] Data loader. Called with z, x, and y tile coordinates.
|
|
28
|
+
* Returns an {@link import("../DataTile.js").ImageLike image} for a tile or a promise for the same.
|
|
29
|
+
* The promise should not resolve until the image is loaded. If the `url` option is provided, a loader will be created.
|
|
30
|
+
* @property {import("./Source.js").AttributionLike} [attributions] Attributions.
|
|
31
|
+
* @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.
|
|
32
|
+
* @property {number} [maxZoom=42] Optional max zoom level. Not used if `tileGrid` is provided.
|
|
33
|
+
* @property {number} [minZoom=0] Optional min zoom level. Not used if `tileGrid` is provided.
|
|
34
|
+
* @property {number|import("../size.js").Size} [tileSize=[256, 256]] The pixel width and height of the source tiles.
|
|
35
|
+
* This may be different than the rendered pixel size if a `tileGrid` is provided.
|
|
36
|
+
* @property {number} [gutter=0] The size in pixels of the gutter around data tiles to ignore.
|
|
37
|
+
* This allows artifacts of rendering at tile edges to be ignored.
|
|
38
|
+
* Supported data should be wider and taller than the tile size by a value of `2 x gutter`.
|
|
39
|
+
* @property {number} [maxResolution] Optional tile grid resolution at level zero. Not used if `tileGrid` is provided.
|
|
40
|
+
* @property {import("../proj.js").ProjectionLike} [projection='EPSG:3857'] Tile projection.
|
|
41
|
+
* @property {import("../tilegrid/TileGrid.js").default} [tileGrid] Tile grid.
|
|
42
|
+
* @property {import("./Source.js").State} [state] The source state.
|
|
43
|
+
* @property {boolean} [wrapX=true] Render tiles beyond the antimeridian.
|
|
44
|
+
* @property {number} [transition] Transition time when fading in new tiles (in miliseconds).
|
|
45
|
+
* @property {boolean} [interpolate=true] Use interpolated values when resampling.
|
|
46
|
+
* @property {import('./DataTile.js').CrossOriginAttribute} [crossOrigin='anonymous'] The crossOrigin property to pass to loaders for image data.
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
const loadError = new Error('Image failed to load');
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @param {string} template The image url template.
|
|
53
|
+
* @param {number} z The tile z coordinate.
|
|
54
|
+
* @param {number} x The tile x coordinate.
|
|
55
|
+
* @param {number} y The tile y coordinate.
|
|
56
|
+
* @param {import('./DataTile.js').LoaderOptions} options The loader options.
|
|
57
|
+
* @return {Promise<HTMLImageElement>} Resolves with a loaded image.
|
|
58
|
+
*/
|
|
59
|
+
function loadImage(template, z, x, y, options) {
|
|
60
|
+
return new Promise((resolve, reject) => {
|
|
61
|
+
const image = new Image();
|
|
62
|
+
if (options.crossOrigin !== undefined) {
|
|
63
|
+
image.crossOrigin = options.crossOrigin;
|
|
64
|
+
}
|
|
65
|
+
image.addEventListener('load', () => resolve(image));
|
|
66
|
+
image.addEventListener('error', () => reject(loadError));
|
|
67
|
+
image.src = renderXYZTemplate(template, z, x, y, options.maxY);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @param {Array<string>} templates The url templates.
|
|
73
|
+
* @return {Loader} The image loader.
|
|
74
|
+
*/
|
|
75
|
+
function makeLoaderFromTemplates(templates) {
|
|
76
|
+
return function (z, x, y, options) {
|
|
77
|
+
const template = pickUrl(templates, z, x, y);
|
|
78
|
+
return loadImage(template, z, x, y, options);
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @param {UrlGetter} getter The url getter.
|
|
84
|
+
* @return {Loader} The image loader.
|
|
85
|
+
*/
|
|
86
|
+
function makeLoaderFromGetter(getter) {
|
|
87
|
+
return function (z, x, y, options) {
|
|
88
|
+
const url = getter(z, x, y, options);
|
|
89
|
+
return loadImage(url, z, x, y, options);
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* @param {UrlLike} url The URL-like option.
|
|
95
|
+
* @return {Loader} The tile loader.
|
|
96
|
+
*/
|
|
97
|
+
function makeLoaderFromUrlLike(url) {
|
|
98
|
+
/**
|
|
99
|
+
* @type {Loader}
|
|
100
|
+
*/
|
|
101
|
+
let loader;
|
|
102
|
+
|
|
103
|
+
if (Array.isArray(url)) {
|
|
104
|
+
loader = makeLoaderFromTemplates(url);
|
|
105
|
+
} else if (typeof url === 'string') {
|
|
106
|
+
const urls = expandUrl(url);
|
|
107
|
+
loader = makeLoaderFromTemplates(urls);
|
|
108
|
+
} else if (typeof url === 'function') {
|
|
109
|
+
loader = makeLoaderFromGetter(url);
|
|
110
|
+
} else {
|
|
111
|
+
throw new Error(
|
|
112
|
+
'The url option must be a single template, an array of templates, or a function for getting a URL',
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
return loader;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
let keyCount = 0;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* @param {UrlLike} url The URL-like option.
|
|
122
|
+
* @return {string} A key for the URL.
|
|
123
|
+
*/
|
|
124
|
+
function keyFromUrlLike(url) {
|
|
125
|
+
if (Array.isArray(url)) {
|
|
126
|
+
return url.join('\n');
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (typeof url === 'string') {
|
|
130
|
+
return url;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
++keyCount;
|
|
134
|
+
return 'url-function-key-' + keyCount;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* @classdesc
|
|
139
|
+
* A source for typed array data tiles.
|
|
140
|
+
*
|
|
141
|
+
* @extends DataTileSource<import("../ImageTile.js").default>
|
|
142
|
+
* @fires import("./Tile.js").TileSourceEvent
|
|
143
|
+
* @api
|
|
144
|
+
*/
|
|
145
|
+
class ImageTileSource extends DataTileSource {
|
|
146
|
+
/**
|
|
147
|
+
* @param {Options} [options] DataTile source options.
|
|
148
|
+
*/
|
|
149
|
+
constructor(options) {
|
|
150
|
+
options = options || {};
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* @type {Loader}
|
|
154
|
+
*/
|
|
155
|
+
let loader = options.loader;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* @type {string}
|
|
159
|
+
*/
|
|
160
|
+
let key;
|
|
161
|
+
|
|
162
|
+
if (options.url) {
|
|
163
|
+
loader = makeLoaderFromUrlLike(options.url);
|
|
164
|
+
key = keyFromUrlLike(options.url);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* @type {import('./Source.js').State}
|
|
169
|
+
*/
|
|
170
|
+
const state = !loader ? 'loading' : options.state;
|
|
171
|
+
|
|
172
|
+
const wrapX = options.wrapX === undefined ? true : options.wrapX;
|
|
173
|
+
|
|
174
|
+
super({
|
|
175
|
+
loader: loader,
|
|
176
|
+
key: key,
|
|
177
|
+
attributions: options.attributions,
|
|
178
|
+
attributionsCollapsible: options.attributionsCollapsible,
|
|
179
|
+
maxZoom: options.maxZoom,
|
|
180
|
+
minZoom: options.minZoom,
|
|
181
|
+
tileSize: options.tileSize,
|
|
182
|
+
gutter: options.gutter,
|
|
183
|
+
maxResolution: options.maxResolution,
|
|
184
|
+
projection: options.projection,
|
|
185
|
+
tileGrid: options.tileGrid,
|
|
186
|
+
state: state,
|
|
187
|
+
wrapX: wrapX,
|
|
188
|
+
transition: options.transition,
|
|
189
|
+
interpolate: options.interpolate !== false,
|
|
190
|
+
crossOrigin: options.crossOrigin,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* @param {UrlLike} url The new URL.
|
|
196
|
+
* @api
|
|
197
|
+
*/
|
|
198
|
+
setUrl(url) {
|
|
199
|
+
const loader = makeLoaderFromUrlLike(url);
|
|
200
|
+
this.setLoader(loader);
|
|
201
|
+
this.setKey(keyFromUrlLike(url));
|
|
202
|
+
if (this.getState() !== 'ready') {
|
|
203
|
+
this.setState('ready');
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export default ImageTileSource;
|
package/source/OGCMapTile.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export type Options = {
|
|
|
25
25
|
*/
|
|
26
26
|
attributions?: import("./Source.js").AttributionLike | undefined;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Deprecated. Use the cacheSize option on the layer instead.
|
|
29
29
|
*/
|
|
30
30
|
cacheSize?: number | undefined;
|
|
31
31
|
/**
|
|
@@ -79,7 +79,7 @@ export type Options = {
|
|
|
79
79
|
* will be derived from the `crs` of the `tileMatrixSet`. You can override this by supplying
|
|
80
80
|
* a projection to the constructor.
|
|
81
81
|
* @property {import("./Source.js").AttributionLike} [attributions] Attributions.
|
|
82
|
-
* @property {number} [cacheSize]
|
|
82
|
+
* @property {number} [cacheSize] Deprecated. Use the cacheSize option on the layer instead.
|
|
83
83
|
* @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that
|
|
84
84
|
* you must provide a `crossOrigin` value if you want to access pixel data with the Canvas renderer.
|
|
85
85
|
* See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
|
package/source/OGCMapTile.js
CHANGED
|
@@ -16,7 +16,7 @@ import {error as logError} from '../console.js';
|
|
|
16
16
|
* will be derived from the `crs` of the `tileMatrixSet`. You can override this by supplying
|
|
17
17
|
* a projection to the constructor.
|
|
18
18
|
* @property {import("./Source.js").AttributionLike} [attributions] Attributions.
|
|
19
|
-
* @property {number} [cacheSize]
|
|
19
|
+
* @property {number} [cacheSize] Deprecated. Use the cacheSize option on the layer instead.
|
|
20
20
|
* @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that
|
|
21
21
|
* you must provide a `crossOrigin` value if you want to access pixel data with the Canvas renderer.
|
|
22
22
|
* See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
|
|
@@ -12,7 +12,7 @@ export type Options<FeatureType extends import("../Feature.js").FeatureLike = im
|
|
|
12
12
|
/**
|
|
13
13
|
* Feature format for tiles. Used and required by the default.
|
|
14
14
|
*/
|
|
15
|
-
format?: import("../format/Feature.js").default<
|
|
15
|
+
format?: import("../format/Feature.js").default<FeatureType> | undefined;
|
|
16
16
|
/**
|
|
17
17
|
* The content type for the tiles (e.g. "application/vnd.mapbox-vector-tile"). If not provided,
|
|
18
18
|
* the source will try to find a link with rel="item" that uses a vector type supported by the configured format.
|
|
@@ -27,7 +27,7 @@ export type Options<FeatureType extends import("../Feature.js").FeatureLike = im
|
|
|
27
27
|
*/
|
|
28
28
|
attributionsCollapsible?: boolean | undefined;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Deprecated. Use the cacheSize option on the layer instead.
|
|
31
31
|
*/
|
|
32
32
|
cacheSize?: number | undefined;
|
|
33
33
|
/**
|
|
@@ -75,12 +75,12 @@ export type Options<FeatureType extends import("../Feature.js").FeatureLike = im
|
|
|
75
75
|
* @property {string} url URL to the OGC Vector Tileset endpoint.
|
|
76
76
|
* @property {Object} [context] A lookup of values to use in the tile URL template. The `{tileMatrix}`
|
|
77
77
|
* (zoom level), `{tileRow}`, and `{tileCol}` variables in the URL will always be provided by the source.
|
|
78
|
-
* @property {import("../format/Feature.js").default<
|
|
78
|
+
* @property {import("../format/Feature.js").default<FeatureType>} [format] Feature format for tiles. Used and required by the default.
|
|
79
79
|
* @property {string} [mediaType] The content type for the tiles (e.g. "application/vnd.mapbox-vector-tile"). If not provided,
|
|
80
80
|
* the source will try to find a link with rel="item" that uses a vector type supported by the configured format.
|
|
81
81
|
* @property {import("./Source.js").AttributionLike} [attributions] Attributions.
|
|
82
82
|
* @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.
|
|
83
|
-
* @property {number} [cacheSize]
|
|
83
|
+
* @property {number} [cacheSize] Deprecated. Use the cacheSize option on the layer instead.
|
|
84
84
|
* @property {boolean} [overlaps=true] This source may have overlapping geometries. Setting this
|
|
85
85
|
* to `false` (e.g. for sources with polygons that represent administrative
|
|
86
86
|
* boundaries or TopoJSON sources) allows the renderer to optimise fill and
|
package/source/OGCVectorTile.js
CHANGED
|
@@ -12,12 +12,12 @@ import {error as logError} from '../console.js';
|
|
|
12
12
|
* @property {string} url URL to the OGC Vector Tileset endpoint.
|
|
13
13
|
* @property {Object} [context] A lookup of values to use in the tile URL template. The `{tileMatrix}`
|
|
14
14
|
* (zoom level), `{tileRow}`, and `{tileCol}` variables in the URL will always be provided by the source.
|
|
15
|
-
* @property {import("../format/Feature.js").default<
|
|
15
|
+
* @property {import("../format/Feature.js").default<FeatureType>} [format] Feature format for tiles. Used and required by the default.
|
|
16
16
|
* @property {string} [mediaType] The content type for the tiles (e.g. "application/vnd.mapbox-vector-tile"). If not provided,
|
|
17
17
|
* the source will try to find a link with rel="item" that uses a vector type supported by the configured format.
|
|
18
18
|
* @property {import("./Source.js").AttributionLike} [attributions] Attributions.
|
|
19
19
|
* @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.
|
|
20
|
-
* @property {number} [cacheSize]
|
|
20
|
+
* @property {number} [cacheSize] Deprecated. Use the cacheSize option on the layer instead.
|
|
21
21
|
* @property {boolean} [overlaps=true] This source may have overlapping geometries. Setting this
|
|
22
22
|
* to `false` (e.g. for sources with polygons that represent administrative
|
|
23
23
|
* boundaries or TopoJSON sources) allows the renderer to optimise fill and
|
package/source/OSM.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export type Options = {
|
|
|
13
13
|
*/
|
|
14
14
|
attributions?: import("./Source.js").AttributionLike | undefined;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Deprecated. Use the cacheSize option on the layer instead.
|
|
17
17
|
*/
|
|
18
18
|
cacheSize?: number | undefined;
|
|
19
19
|
/**
|
|
@@ -31,10 +31,6 @@ export type Options = {
|
|
|
31
31
|
* Max zoom.
|
|
32
32
|
*/
|
|
33
33
|
maxZoom?: number | undefined;
|
|
34
|
-
/**
|
|
35
|
-
* Whether the layer is opaque.
|
|
36
|
-
*/
|
|
37
|
-
opaque?: boolean | undefined;
|
|
38
34
|
/**
|
|
39
35
|
* Maximum allowed reprojection error (in pixels).
|
|
40
36
|
* Higher values can increase reprojection performance, but decrease precision.
|
|
@@ -72,14 +68,13 @@ export type Options = {
|
|
|
72
68
|
/**
|
|
73
69
|
* @typedef {Object} Options
|
|
74
70
|
* @property {import("./Source.js").AttributionLike} [attributions] Attributions.
|
|
75
|
-
* @property {number} [cacheSize]
|
|
71
|
+
* @property {number} [cacheSize] Deprecated. Use the cacheSize option on the layer instead.
|
|
76
72
|
* @property {null|string} [crossOrigin='anonymous'] The `crossOrigin` attribute for loaded images. Note that
|
|
77
73
|
* you must provide a `crossOrigin` value if you want to access pixel data with the Canvas renderer.
|
|
78
74
|
* See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
|
|
79
75
|
* @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,
|
|
80
76
|
* linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.
|
|
81
77
|
* @property {number} [maxZoom=19] Max zoom.
|
|
82
|
-
* @property {boolean} [opaque=true] Whether the layer is opaque.
|
|
83
78
|
* @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels).
|
|
84
79
|
* Higher values can increase reprojection performance, but decrease precision.
|
|
85
80
|
* @property {import("../Tile.js").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is
|
package/source/OSM.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OSM.d.ts","sourceRoot":"","sources":["OSM.js"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,0BAHU,MAAM,CAME
|
|
1
|
+
{"version":3,"file":"OSM.d.ts","sourceRoot":"","sources":["OSM.js"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,0BAHU,MAAM,CAME;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAElB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;GAIG;AACH;IACE;;OAEG;IACH,2CAgCC;CACF;gBApFe,UAAU"}
|
package/source/OSM.js
CHANGED
|
@@ -19,14 +19,13 @@ export const ATTRIBUTION =
|
|
|
19
19
|
/**
|
|
20
20
|
* @typedef {Object} Options
|
|
21
21
|
* @property {import("./Source.js").AttributionLike} [attributions] Attributions.
|
|
22
|
-
* @property {number} [cacheSize]
|
|
22
|
+
* @property {number} [cacheSize] Deprecated. Use the cacheSize option on the layer instead.
|
|
23
23
|
* @property {null|string} [crossOrigin='anonymous'] The `crossOrigin` attribute for loaded images. Note that
|
|
24
24
|
* you must provide a `crossOrigin` value if you want to access pixel data with the Canvas renderer.
|
|
25
25
|
* See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
|
|
26
26
|
* @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,
|
|
27
27
|
* linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.
|
|
28
28
|
* @property {number} [maxZoom=19] Max zoom.
|
|
29
|
-
* @property {boolean} [opaque=true] Whether the layer is opaque.
|
|
30
29
|
* @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels).
|
|
31
30
|
* Higher values can increase reprojection performance, but decrease precision.
|
|
32
31
|
* @property {import("../Tile.js").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is
|
|
@@ -79,7 +78,6 @@ class OSM extends XYZ {
|
|
|
79
78
|
crossOrigin: crossOrigin,
|
|
80
79
|
interpolate: options.interpolate,
|
|
81
80
|
maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19,
|
|
82
|
-
opaque: options.opaque !== undefined ? options.opaque : true,
|
|
83
81
|
reprojectionErrorThreshold: options.reprojectionErrorThreshold,
|
|
84
82
|
tileLoadFunction: options.tileLoadFunction,
|
|
85
83
|
transition: options.transition,
|
package/source/StadiaMaps.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export default StadiaMaps;
|
|
2
2
|
export type Options = {
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Deprecated. Use the cacheSize option on the layer instead.
|
|
5
5
|
*/
|
|
6
6
|
cacheSize?: number | undefined;
|
|
7
7
|
/**
|
|
@@ -64,7 +64,7 @@ export type Options = {
|
|
|
64
64
|
};
|
|
65
65
|
/**
|
|
66
66
|
* @typedef {Object} Options
|
|
67
|
-
* @property {number} [cacheSize]
|
|
67
|
+
* @property {number} [cacheSize] Deprecated. Use the cacheSize option on the layer instead.
|
|
68
68
|
* @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,
|
|
69
69
|
* linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.
|
|
70
70
|
* @property {string} layer Layer name. Valid values: `alidade_smooth`, `alidade_smooth_dark`, `outdoors`, `stamen_terrain`, `stamen_terrain_background`, `stamen_terrain_labels`, `stamen_terrain_lines`, `stamen_toner_background`, `stamen_toner`, `stamen_toner_labels`, `stamen_toner_lines`, `stamen_toner_lite`, `stamen_watercolor`, and `osm_bright`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StadiaMaps.d.ts","sourceRoot":"","sources":["StadiaMaps.js"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"StadiaMaps.d.ts","sourceRoot":"","sources":["StadiaMaps.js"],"names":[],"mappings":";;;;;;;;;;;;;;WAyGc,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AALpB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;GAIG;AACH;IACE;;OAEG;IACH,qBAFW,OAAO,EAqDjB;CACF;gBAzLe,UAAU"}
|
package/source/StadiaMaps.js
CHANGED
|
@@ -27,68 +27,53 @@ const STAMEN_ATTRIBUTION =
|
|
|
27
27
|
'© <a href="https://stamen.com/" target="_blank">Stamen Design</a>';
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
* @type {Object<string, {extension: string
|
|
30
|
+
* @type {Object<string, {extension: string}>}
|
|
31
31
|
*/
|
|
32
32
|
const LayerConfig = {
|
|
33
33
|
'stamen_terrain': {
|
|
34
34
|
extension: 'png',
|
|
35
|
-
opaque: true,
|
|
36
35
|
},
|
|
37
36
|
'stamen_terrain_background': {
|
|
38
37
|
extension: 'png',
|
|
39
|
-
opaque: true,
|
|
40
38
|
},
|
|
41
39
|
'stamen_terrain_labels': {
|
|
42
40
|
extension: 'png',
|
|
43
|
-
opaque: false,
|
|
44
41
|
},
|
|
45
42
|
'stamen_terrain_lines': {
|
|
46
43
|
extension: 'png',
|
|
47
|
-
opaque: false,
|
|
48
44
|
},
|
|
49
45
|
'stamen_toner_background': {
|
|
50
46
|
extension: 'png',
|
|
51
|
-
opaque: true,
|
|
52
47
|
},
|
|
53
48
|
'stamen_toner': {
|
|
54
49
|
extension: 'png',
|
|
55
|
-
opaque: true,
|
|
56
50
|
},
|
|
57
51
|
'stamen_toner_labels': {
|
|
58
52
|
extension: 'png',
|
|
59
|
-
opaque: false,
|
|
60
53
|
},
|
|
61
54
|
'stamen_toner_lines': {
|
|
62
55
|
extension: 'png',
|
|
63
|
-
opaque: false,
|
|
64
56
|
},
|
|
65
57
|
'stamen_toner_lite': {
|
|
66
58
|
extension: 'png',
|
|
67
|
-
opaque: true,
|
|
68
59
|
},
|
|
69
60
|
'stamen_watercolor': {
|
|
70
61
|
extension: 'jpg',
|
|
71
|
-
opaque: true,
|
|
72
62
|
},
|
|
73
63
|
'alidade_smooth': {
|
|
74
64
|
extension: 'png',
|
|
75
|
-
opaque: true,
|
|
76
65
|
},
|
|
77
66
|
'alidade_smooth_dark': {
|
|
78
67
|
extension: 'png',
|
|
79
|
-
opaque: true,
|
|
80
68
|
},
|
|
81
69
|
'alidade_satellite': {
|
|
82
70
|
extension: 'png',
|
|
83
|
-
opaque: true,
|
|
84
71
|
},
|
|
85
72
|
'outdoors': {
|
|
86
73
|
extension: 'png',
|
|
87
|
-
opaque: true,
|
|
88
74
|
},
|
|
89
75
|
'osm_bright': {
|
|
90
76
|
extension: 'png',
|
|
91
|
-
opaque: true,
|
|
92
77
|
},
|
|
93
78
|
};
|
|
94
79
|
|
|
@@ -115,7 +100,7 @@ const ProviderConfig = {
|
|
|
115
100
|
|
|
116
101
|
/**
|
|
117
102
|
* @typedef {Object} Options
|
|
118
|
-
* @property {number} [cacheSize]
|
|
103
|
+
* @property {number} [cacheSize] Deprecated. Use the cacheSize option on the layer instead.
|
|
119
104
|
* @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,
|
|
120
105
|
* linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.
|
|
121
106
|
* @property {string} layer Layer name. Valid values: `alidade_smooth`, `alidade_smooth_dark`, `outdoors`, `stamen_terrain`, `stamen_terrain_background`, `stamen_terrain_labels`, `stamen_terrain_lines`, `stamen_toner_background`, `stamen_toner`, `stamen_toner_labels`, `stamen_toner_lines`, `stamen_toner_lite`, `stamen_watercolor`, and `osm_bright`.
|
|
@@ -193,7 +178,6 @@ class StadiaMaps extends XYZ {
|
|
|
193
178
|
options.minZoom !== undefined
|
|
194
179
|
? options.minZoom
|
|
195
180
|
: providerConfig.minZoom,
|
|
196
|
-
opaque: layerConfig.opaque,
|
|
197
181
|
reprojectionErrorThreshold: options.reprojectionErrorThreshold,
|
|
198
182
|
tileLoadFunction: options.tileLoadFunction,
|
|
199
183
|
transition: options.transition,
|
package/source/Tile.d.ts
CHANGED
|
@@ -31,13 +31,9 @@ export type Options = {
|
|
|
31
31
|
*/
|
|
32
32
|
attributionsCollapsible?: boolean | undefined;
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* Deprecated. Use the cacheSize option on the layer instead.
|
|
35
35
|
*/
|
|
36
36
|
cacheSize?: number | undefined;
|
|
37
|
-
/**
|
|
38
|
-
* Whether the layer is opaque.
|
|
39
|
-
*/
|
|
40
|
-
opaque?: boolean | undefined;
|
|
41
37
|
/**
|
|
42
38
|
* TilePixelRatio.
|
|
43
39
|
*/
|
|
@@ -89,8 +85,7 @@ import Event from '../events/Event.js';
|
|
|
89
85
|
* @typedef {Object} Options
|
|
90
86
|
* @property {import("./Source.js").AttributionLike} [attributions] Attributions.
|
|
91
87
|
* @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.
|
|
92
|
-
* @property {number} [cacheSize]
|
|
93
|
-
* @property {boolean} [opaque=false] Whether the layer is opaque.
|
|
88
|
+
* @property {number} [cacheSize] Deprecated. Use the cacheSize option on the layer instead.
|
|
94
89
|
* @property {number} [tilePixelRatio] TilePixelRatio.
|
|
95
90
|
* @property {import("../proj.js").ProjectionLike} [projection] Projection.
|
|
96
91
|
* @property {import("./Source.js").State} [state] State.
|
|
@@ -107,10 +102,12 @@ import Event from '../events/Event.js';
|
|
|
107
102
|
* Abstract base class; normally only used for creating subclasses and not
|
|
108
103
|
* instantiated in apps.
|
|
109
104
|
* Base class for sources providing images divided into a tile grid.
|
|
105
|
+
*
|
|
106
|
+
* @template {import("../Tile.js").default} [TileType=import("../Tile.js").default]
|
|
110
107
|
* @abstract
|
|
111
108
|
* @api
|
|
112
109
|
*/
|
|
113
|
-
declare class TileSource extends Source {
|
|
110
|
+
declare class TileSource<TileType extends import("../Tile.js").default = import("../Tile.js").default> extends Source {
|
|
114
111
|
/**
|
|
115
112
|
* @param {Options} options SourceTile source options.
|
|
116
113
|
*/
|
|
@@ -127,11 +124,6 @@ declare class TileSource extends Source {
|
|
|
127
124
|
* @type {TileSourceOnSignature<void>}
|
|
128
125
|
*/
|
|
129
126
|
un: TileSourceOnSignature<void>;
|
|
130
|
-
/**
|
|
131
|
-
* @private
|
|
132
|
-
* @type {boolean}
|
|
133
|
-
*/
|
|
134
|
-
private opaque_;
|
|
135
127
|
/**
|
|
136
128
|
* @private
|
|
137
129
|
* @type {number}
|
|
@@ -180,16 +172,6 @@ declare class TileSource extends Source {
|
|
|
180
172
|
expireCache(projection: import("../proj/Projection.js").default, usedTiles: {
|
|
181
173
|
[x: string]: boolean;
|
|
182
174
|
}): void;
|
|
183
|
-
/**
|
|
184
|
-
* @param {import("../proj/Projection.js").default} projection Projection.
|
|
185
|
-
* @param {number} z Zoom level.
|
|
186
|
-
* @param {import("../TileRange.js").default} tileRange Tile range.
|
|
187
|
-
* @param {function(import("../Tile.js").default):(boolean|void)} callback Called with each
|
|
188
|
-
* loaded tile. If the callback returns `false`, the tile will not be
|
|
189
|
-
* considered loaded.
|
|
190
|
-
* @return {boolean} The tile range is fully covered with loaded tiles.
|
|
191
|
-
*/
|
|
192
|
-
forEachLoadedTile(projection: import("../proj/Projection.js").default, z: number, tileRange: import("../TileRange.js").default, callback: (arg0: import("../Tile.js").default) => (boolean | void)): boolean;
|
|
193
175
|
/**
|
|
194
176
|
* @param {import("../proj/Projection.js").default} projection Projection.
|
|
195
177
|
* @return {number} Gutter.
|
|
@@ -206,11 +188,6 @@ declare class TileSource extends Source {
|
|
|
206
188
|
* @protected
|
|
207
189
|
*/
|
|
208
190
|
protected setKey(key: string): void;
|
|
209
|
-
/**
|
|
210
|
-
* @param {import("../proj/Projection.js").default} projection Projection.
|
|
211
|
-
* @return {boolean} Opaque.
|
|
212
|
-
*/
|
|
213
|
-
getOpaque(projection: import("../proj/Projection.js").default): boolean;
|
|
214
191
|
/**
|
|
215
192
|
* @abstract
|
|
216
193
|
* @param {number} z Tile coordinate z.
|
|
@@ -218,9 +195,9 @@ declare class TileSource extends Source {
|
|
|
218
195
|
* @param {number} y Tile coordinate y.
|
|
219
196
|
* @param {number} pixelRatio Pixel ratio.
|
|
220
197
|
* @param {import("../proj/Projection.js").default} projection Projection.
|
|
221
|
-
* @return {
|
|
198
|
+
* @return {TileType|null} Tile.
|
|
222
199
|
*/
|
|
223
|
-
getTile(z: number, x: number, y: number, pixelRatio: number, projection: import("../proj/Projection.js").default):
|
|
200
|
+
getTile(z: number, x: number, y: number, pixelRatio: number, projection: import("../proj/Projection.js").default): TileType | null;
|
|
224
201
|
/**
|
|
225
202
|
* Return the tile grid of the tile source.
|
|
226
203
|
* @return {import("../tilegrid/TileGrid.js").default|null} Tile grid.
|
|
@@ -268,12 +245,6 @@ declare class TileSource extends Source {
|
|
|
268
245
|
* @api
|
|
269
246
|
*/
|
|
270
247
|
clear(): void;
|
|
271
|
-
/**
|
|
272
|
-
* Increases the cache size if needed
|
|
273
|
-
* @param {number} tileCount Minimum number of tiles needed.
|
|
274
|
-
* @param {import("../proj/Projection.js").default} projection Projection.
|
|
275
|
-
*/
|
|
276
|
-
updateCacheSize(tileCount: number, projection: import("../proj/Projection.js").default): void;
|
|
277
248
|
/**
|
|
278
249
|
* Marks a tile coord as being used, without triggering a load.
|
|
279
250
|
* @abstract
|
package/source/Tile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["Tile.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["Tile.js"],"names":[],"mappings":"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"}
|