Files
coopgo/node_modules/ol/source.js
sgauthier 6e64e138e2
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
planning
2024-10-14 09:15:30 +02:00

68 lines
3.5 KiB
JavaScript

/**
* @module ol/source
*/
import LRUCache from './structs/LRUCache.js';
import { getIntersection } from './extent.js';
export { default as BingMaps } from './source/BingMaps.js';
export { default as CartoDB } from './source/CartoDB.js';
export { default as Cluster } from './source/Cluster.js';
export { default as DataTile } from './source/DataTile.js';
export { default as GeoTIFF } from './source/GeoTIFF.js';
export { default as IIIF } from './source/IIIF.js';
export { default as Image } from './source/Image.js';
export { default as ImageArcGISRest } from './source/ImageArcGISRest.js';
export { default as ImageCanvas } from './source/ImageCanvas.js';
export { default as ImageMapGuide } from './source/ImageMapGuide.js';
export { default as ImageStatic } from './source/ImageStatic.js';
export { default as ImageWMS } from './source/ImageWMS.js';
export { default as OSM } from './source/OSM.js';
export { default as Raster } from './source/Raster.js';
export { default as Source } from './source/Source.js';
export { default as Stamen } from './source/Stamen.js';
export { default as Tile } from './source/Tile.js';
export { default as TileArcGISRest } from './source/TileArcGISRest.js';
export { default as TileDebug } from './source/TileDebug.js';
export { default as TileImage } from './source/TileImage.js';
export { default as TileJSON } from './source/TileJSON.js';
export { default as TileWMS } from './source/TileWMS.js';
export { default as UrlTile } from './source/UrlTile.js';
export { default as UTFGrid } from './source/UTFGrid.js';
export { default as Vector } from './source/Vector.js';
export { default as VectorTile } from './source/VectorTile.js';
export { default as WMTS } from './source/WMTS.js';
export { default as XYZ } from './source/XYZ.js';
export { default as Zoomify } from './source/Zoomify.js';
/**
* Creates a sources function from a tile grid. This function can be used as value for the
* `sources` property of the {@link module:ol/layer/Layer~Layer} subclasses that support it.
* @param {import("./tilegrid/TileGrid.js").default} tileGrid Tile grid.
* @param {function(import("./tilecoord.js").TileCoord): import("./source/Source.js").default} factory Source factory.
* This function takes a {@link module:ol/tilecoord~TileCoord} as argument and is expected to return a
* {@link module:ol/source/Source~Source}. **Note**: The returned sources should have a tile grid with
* a limited set of resolutions, matching the resolution range of a single zoom level of the pyramid
* `tileGrid` that `sourcesFromTileGrid` was called with.
* @return {function(import("./extent.js").Extent, number): Array<import("./source/Source.js").default>} Sources function.
* @api
*/
export function sourcesFromTileGrid(tileGrid, factory) {
var sourceCache = new LRUCache(32);
var tileGridExtent = tileGrid.getExtent();
return function (extent, resolution) {
sourceCache.expireCache();
if (tileGridExtent) {
extent = getIntersection(tileGridExtent, extent);
}
var z = tileGrid.getZForResolution(resolution);
var wantedSources = [];
tileGrid.forEachTileCoord(extent, z, function (tileCoord) {
var key = tileCoord.toString();
if (!sourceCache.containsKey(key)) {
var source = factory(tileCoord);
sourceCache.set(key, source);
}
wantedSources.push(sourceCache.get(key));
});
return wantedSources;
};
}
//# sourceMappingURL=source.js.map