UNPKG

@vuemap/amap-xyz-layer

Version:

高德地图 JSAPI v2.0 自定义瓦片图层,支持瓦片纠偏,支持海拔

111 lines (110 loc) 3.39 kB
import { Matrix4 } from "@math.gl/core"; import TransformClassBaidu from '../support/transform-class-baidu'; import type { ResultLngLat } from '../support/coordConver'; type MaskType = number[][] | number[][][] | number[][][][]; export interface XyzLayerOptions { url: string; subdomains?: string[]; tileType?: 'xyz' | 'bd09'; proj?: 'wgs84' | 'gcj02' | 'bd09'; zooms?: [number, number]; opacity?: number; visible?: boolean; zIndex?: number; debug?: boolean; mask?: MaskType; cacheSize?: number; tileMaxZoom?: number; altitude?: number; } interface XYZ { x: number; y: number; z: number; } interface PosParamType { size: number; stride: number; offset: number; } interface TileType { xyz: XYZ; xyzKey: string; buffer?: WebGLBuffer; PosParam?: PosParamType; TextCoordParam?: PosParamType; texture?: WebGLTexture; isLoad: boolean; url: string; image?: HTMLImageElement; imageCanceled: boolean; imageError?: boolean; } interface MaskCacheType { FSIZE: number; vertexBuffer: WebGLBuffer; indexBuffer: WebGLBuffer; deviationLength: number; } declare class CustomXyzLayer { options: XyzLayerOptions; map: any; gl: any; layer: any; customCoords: any; center: any; program: any; showTiles: TileType[]; isReadRender: boolean; isLayerShow: boolean; tileCache: TileType[]; gridCache: Record<string, ResultLngLat>; transformBaidu: TransformClassBaidu; a_Pos: GLint | undefined; a_TextCoord: GLint | undefined; mapCallback: any; maskCache: MaskCacheType[]; maskProgram: any; mask_Pos: GLint | undefined; _projectionMatrix: Matrix4; _viewMatrix4: Matrix4; _mvpMatrix4: Matrix4; isOrtho: boolean; constructor(map: any, options: XyzLayerOptions); _renderMask(gl: any): void; _renderTile(gl: any): void; validate(options: XyzLayerOptions): void; getDefaultGlLayerOptions(): XyzLayerOptions; _createMask(mask?: MaskType): void; getMaskDeep(mask: any, deepNumber?: number): number; _convertMaskLnglatToCoords(mask: any): any; _convertLnglatToCoords(lnglat: [number, number]): any; update(): void; _cancelOutViewImage(currentTiles: XYZ[]): void; getTileCache(key: string): TileType | undefined; pushTileCache(tile: TileType): void; addGridCache(xyz: XYZ, xPlus: number, yPlus: number): void; tileDistance(tile1: XYZ, tile2: [number, number]): number; createTileKey(xyz: XYZ | number, y?: number, z?: number): string; deepFormatTileNumber(num: number, maxNum: number): any; createTile(gl: any, xyz: XYZ): TileType; setVertex(gl: any, program: any): void; requestRender(): void; show(): void; hide(): void; getzIndex(): number; setzIndex(zIndex: number): void; getOpacity(): number; setOpacity(opacity: number): void; getZooms(): [number, number]; setZooms(zooms: [number, number]): void; setMask(mask?: MaskType): void; getMask(): MaskType | undefined; getMap(): any; _destroyMaskCache(): void; _destroyTile(tile: TileType): void; _clearAllCacheTile(): void; _clearShowTile(): void; destroy(): void; } export { CustomXyzLayer };