ol
Version:
OpenLayers mapping library
270 lines • 8.41 kB
TypeScript
/**
* @param {import('../tilecoord.js').TileCoord} tileCoord Tile coord.
* @return {string} Quad key.
*/
export function quadKey(tileCoord: import("../tilecoord.js").TileCoord): string;
export default BingMaps;
export type Options = {
/**
* Deprecated. Use the cacheSize option on the layer instead.
*/
cacheSize?: number | undefined;
/**
* If `true` hidpi tiles will be requested.
*/
hidpi?: boolean | undefined;
/**
* Culture code.
*/
culture?: string | undefined;
/**
* Bing Maps API key. Get yours at https://www.bingmapsportal.com/.
*/
key: string;
/**
* Type of imagery.
*/
imagerySet: string;
/**
* Use interpolated values when resampling. By default,
* linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.
*/
interpolate?: boolean | undefined;
/**
* Max zoom. Default is what's advertized by the BingMaps service.
*/
maxZoom?: number | undefined;
/**
* Maximum allowed reprojection error (in pixels).
* Higher values can increase reprojection performance, but decrease precision.
*/
reprojectionErrorThreshold?: number | undefined;
/**
* Optional function to load a tile given a URL. The default is
* ```js
* function(imageTile, src) {
* imageTile.getImage().src = src;
* };
* ```
*/
tileLoadFunction?: import("../Tile.js").LoadFunction | undefined;
/**
* Whether to wrap the world horizontally.
*/
wrapX?: boolean | undefined;
/**
* Duration of the opacity transition for rendering.
* To disable the opacity transition, pass `transition: 0`.
*/
transition?: number | undefined;
/**
* Choose whether to use tiles with a higher or lower zoom level when between integer
* zoom levels. See {@link module :ol/tilegrid/TileGrid~TileGrid#getZForResolution}.
*/
zDirection?: number | import("../array.js").NearestDirectionFunction | undefined;
/**
* Whether to show BingMaps placeholder tiles when zoomed past the maximum level provided in an area. When `false`, requests beyond
* the maximum zoom level will return no tile. When `true`, the placeholder tile will be returned. When not set, the default behaviour of the imagery set takes place,
* which is unique for each imagery set in BingMaps.
*/
placeholderTiles?: boolean | undefined;
};
export type BingMapsImageryMetadataResponse = {
/**
* The response status code
*/
statusCode: number;
/**
* The response status description
*/
statusDescription: string;
/**
* The authentication result code
*/
authenticationResultCode: string;
/**
* The array of resource sets
*/
resourceSets: Array<ResourceSet>;
};
export type ResourceSet = {
/**
* Resources.
*/
resources: Array<Resource>;
};
export type Resource = {
/**
* The image height
*/
imageHeight: number;
/**
* The image width
*/
imageWidth: number;
/**
* The minimum zoom level
*/
zoomMin: number;
/**
* The maximum zoom level
*/
zoomMax: number;
/**
* The image URL
*/
imageUrl: string;
/**
* The image URL subdomains for rotation
*/
imageUrlSubdomains: Array<string>;
/**
* The array of ImageryProviders
*/
imageryProviders?: ImageryProvider[] | undefined;
};
export type ImageryProvider = {
/**
* The coverage areas
*/
coverageAreas: Array<CoverageArea>;
/**
* The attribution
*/
attribution?: string | undefined;
};
export type CoverageArea = {
/**
* The minimum zoom
*/
zoomMin: number;
/**
* The maximum zoom
*/
zoomMax: number;
/**
* The coverage bounding box
*/
bbox: Array<number>;
};
/**
* @typedef {Object} Options
* @property {number} [cacheSize] Deprecated. Use the cacheSize option on the layer instead.
* @property {boolean} [hidpi=false] If `true` hidpi tiles will be requested.
* @property {string} [culture='en-us'] Culture code.
* @property {string} key Bing Maps API key. Get yours at https://www.bingmapsportal.com/.
* @property {string} imagerySet Type of imagery.
* @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,
* linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.
* @property {number} [maxZoom=21] Max zoom. Default is what's advertized by the BingMaps service.
* @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels).
* Higher values can increase reprojection performance, but decrease precision.
* @property {import("../Tile.js").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is
* ```js
* function(imageTile, src) {
* imageTile.getImage().src = src;
* };
* ```
* @property {boolean} [wrapX=true] Whether to wrap the world horizontally.
* @property {number} [transition] Duration of the opacity transition for rendering.
* To disable the opacity transition, pass `transition: 0`.
* @property {number|import("../array.js").NearestDirectionFunction} [zDirection=0]
* Choose whether to use tiles with a higher or lower zoom level when between integer
* zoom levels. See {@link module:ol/tilegrid/TileGrid~TileGrid#getZForResolution}.
* @property {boolean} [placeholderTiles] Whether to show BingMaps placeholder tiles when zoomed past the maximum level provided in an area. When `false`, requests beyond
* the maximum zoom level will return no tile. When `true`, the placeholder tile will be returned. When not set, the default behaviour of the imagery set takes place,
* which is unique for each imagery set in BingMaps.
*/
/**
* @typedef {Object} BingMapsImageryMetadataResponse
* @property {number} statusCode The response status code
* @property {string} statusDescription The response status description
* @property {string} authenticationResultCode The authentication result code
* @property {Array<ResourceSet>} resourceSets The array of resource sets
*/
/**
* @typedef {Object} ResourceSet
* @property {Array<Resource>} resources Resources.
*/
/**
* @typedef {Object} Resource
* @property {number} imageHeight The image height
* @property {number} imageWidth The image width
* @property {number} zoomMin The minimum zoom level
* @property {number} zoomMax The maximum zoom level
* @property {string} imageUrl The image URL
* @property {Array<string>} imageUrlSubdomains The image URL subdomains for rotation
* @property {Array<ImageryProvider>} [imageryProviders] The array of ImageryProviders
*/
/**
* @typedef {Object} ImageryProvider
* @property {Array<CoverageArea>} coverageAreas The coverage areas
* @property {string} [attribution] The attribution
*/
/**
* @typedef {Object} CoverageArea
* @property {number} zoomMin The minimum zoom
* @property {number} zoomMax The maximum zoom
* @property {Array<number>} bbox The coverage bounding box
*/
/**
* @classdesc
* Layer source for Bing Maps tile data.
* @api
*/
declare class BingMaps extends TileImage {
/**
* @param {Options} options Bing Maps options.
*/
constructor(options: Options);
/**
* @private
* @type {boolean}
*/
private hidpi_;
/**
* @private
* @type {string}
*/
private culture_;
/**
* @private
* @type {number}
*/
private maxZoom_;
/**
* @private
* @type {string}
*/
private apiKey_;
/**
* @private
* @type {string}
*/
private imagerySet_;
/**
* @private
* @type {boolean|undefined}
*/
private placeholderTiles_;
/**
* Get the api key used for this source.
*
* @return {string} The api key.
* @api
*/
getApiKey(): string;
/**
* Get the imagery set associated with this source.
*
* @return {string} The imagery set.
* @api
*/
getImagerySet(): string;
/**
* @param {BingMapsImageryMetadataResponse} response Response.
*/
handleImageryMetadataResponse(response: BingMapsImageryMetadataResponse): void;
}
import TileImage from './TileImage.js';
//# sourceMappingURL=BingMaps.d.ts.map