import { VectorTileFeature, VectorTileLayer } from '@mapbox/vector-tile'; import { default as VTileLayer } from './VTileLayer'; import { default as XViewer } from '../core/XViewer'; import * as Cesium from '@cesium/engine'; type TileCoordinates = { x: number; y: number; level: number; }; type FeatureHandler = (feature: VectorTileFeature, tileCoords: TileCoordinates) => R; export type VTImageryOptions = { urlTemplate: string; layerName: string; vtlayers: Map; minimumLevel?: number; maximumLevel?: number; rectangle?: Cesium.Rectangle; maximumNativeZoom?: number; credit?: string; resolution?: number; pickPointRadius?: number | FeatureHandler; pickLineWidth?: number | FeatureHandler; }; /** * 针对矢量切片的影像图层Provider */ export declare class VTImageryProvider { private readonly _minimumLevel; private readonly _maximumLevel; private readonly _urlTemplate; private readonly _layerNames; private readonly _credit?; private readonly _resolution?; private _currentUrl?; private _pickPointRadius; private _pickLineWidth; private readonly _tilingScheme; private readonly _tileWidth; private readonly _tileHeight; private readonly _rectangle; private _ready; private readonly _readyPromise; private readonly _errorEvent; private readonly _tileFailCaches; private readonly _xyzCaches; private readonly vtlayers; private viewer; private canvas; id: string; private renderContentRectangle; private startLevel; constructor(pViewer: XViewer, options: VTImageryOptions); get url(): string; get tileWidth(): number; get tileHeight(): number; /** * 里面的矢量图层 */ get vtLayers(): Map; get maximumLevel(): number; get minimumLevel(): number; get tilingScheme(): Cesium.WebMercatorTilingScheme; get rectangle(): Cesium.Rectangle; get errorEvent(): Cesium.Event<(...args: any[]) => void>; get ready(): boolean; get hasAlphaChannel(): boolean; get credit(): any; get defaultNightAlpha(): any; get defaultDayAlpha(): any; get defaultAlpha(): any; get defaultBrightness(): any; get defaultContrast(): any; get defaultHue(): any; get defaultSaturation(): any; get defaultGamma(): any; get defaultMinificationFilter(): any; get defaultMagnificationFilter(): any; get readyPromise(): Promise; get tileDiscardPolicy(): any; get proxy(): any; getTileCredits(_x: number, _y: number, _level: number): any[]; private computeLabelRectangle; /** * * @private */ private _onCameraChanged; /** * 改变点的可见性 * @param it * @param isShow */ private changePointVisible; private isminlevel; private minRectCollisionCheck; requestImage(x: number, y: number, level: number, _request?: Cesium.Request | undefined): Promise; _doRenderPoint(requestedTile: TileCoordinates, vtileLayer: VTileLayer, layer: VectorTileLayer, tileKey: string): Promise; checkRectangleCollision2(rectangleCollisionCheck: Cesium.Rectangle[], it: any): Promise; getBillboardCollect(vtileLayer: VTileLayer): any; _doRenderLine(requestedTile: TileCoordinates, vtileLayer: VTileLayer, layer: VectorTileLayer, tileKey: string): Promise; _doRenderPolygon(requestedTile: TileCoordinates, vtileLayer: VTileLayer, layer: any): void; pickFeatures(x: any, y: any, level: any, longitude: any, latitude: any): any; show(visible: boolean): void; } export default VTImageryProvider;