export type layerType = | "markers" | "tiledMap" | "tiledMapQuery" | "geoJson" | "arcgisFeature" | "dynamicMapLayer" | "arcgisMap" | "label"; export type layerOption = { opacity?: number; data?: Array; zIndex?: number; clickEvent?: Function; hoverEvent?: Function; legendImages?: Array | null | undefined; geoJsonLegend?: Array | null | undefined; tiledMapType?: undefined | "superMap"; }; export interface layer { id: string; key: string; _layer?: any; type?: layerType; url?: string; urlThd?: string; label?: string; thumbnail?: string; visible?: boolean; option?: layerOption; tempobj?: any; opacity?: any; } export interface MapInterface { getRainColor: any; getRainColor1: any; removeContentmarkers: any; removeGanliumarkers: any; addarcgisLayerWithNotLine: any /** * 地图初始化 * @param container DOM容器 * @return any 地图视图 */ init(container: React.ReactNode, rectangle?: any, center?: any): Promise; /** *添加 图层 */ addLayer(layer: layer): any; /** * 添加canvasMarker */ addCanvasMarker( data: Array, legend?: Array, option?: { skipRemoveHtml?: boolean }, flag?: any ): any; invalidateSize(): void; getRain(data: any): void; /** * 添加地图缩放监听事件 */ addZoomEvent(func: Function, type?: string): void; /** * 添加鼠标移动事件 * @param func 事件 */ addMouseMoveEvent(func: Function): void; /** * 添加鼠标点击事件 * @param func 事件 */ addMouseClickEvent(func: Function): void; /** * 定位 * @param data */ fitBounds(data: any): void; /** * 获取所有的图层 */ getLayers(): Map | null; /** * 获取地图缩放级别 */ getMapZoom(): number; /** * 放大 */ zoomEnlarge(): number; /** * 缩小 */ zoomNarrow(): number; /** * 获取当前地图视图的比例尺或者缩放级别 */ getMapZoomOrScale(): { scale?: number; zoom?: number }; /** * 显示图层 * @param layers */ showLayer(id: string): void; /** * 隐藏图层 * @param layers */ hideLayer(id: string): void; /** * 设置地图位置 * @param position */ setCenter(position: { lat: number; lng: number }, zoom?: any): void; /** * 移除所有图层 */ removeAllLayer(): void; /** * 移除所有站点标签 */ removeAllLabel(): void; /** * 移除图层 * @param layer */ removeLayer(layer: layer): void; /** * 重新渲染图层数据 */ reRenderLayer( key: string, options?: { opacity?: number; data: Array; zIndex?: number } ): Promise; /** * 移除鼠标移动事件监听 */ removeMouseMoveEvent(): void; /** * 移除监听事件 */ removeEvent(type: string, func: Function): void; /** * 移除要素图层 */ removeFeatureLayer(): void; /** * 移除水系图层 */ removedataSource(item: any): void; /** * 移除鼠标点击事件监听 */ removeMouseClickEvent(): void; /** * 缩放 * out 放大 * in 缩小 */ zoomToggle(type: "out" | "in"): void; /** * 增加arcgis图层 */ addarcgisLayer(item: any, data?: any): void; /** * 增加图层label */ addmapLabel(item: any, data: any, zoom: any): void; addmapLine(item: any, data: any): void; /** * 删除arcgis图层 */ removearcgisLayer(): void; /** * 删除图层label */ removearcgisLabel(): void; removeLayermarkers(): void; removeRainLayer(): void; removeGroupLayer(): void; removeMapLayer(): void; /** * 测距 */ handelstartDrawLine(): void; /** * 测面积 */ handelstartDrawPolygon(): void; /** * 清除 */ handelclearLayer(): void; }