import L from 'leaflet'; import type { MyMap } from 'map-sdk-leaflet/es/sdk/ShipxyAPISDK'; export interface TyphoonDetails { chnname: string; enname: string; } export interface TyphoonConfiguration { typhoonLayer: L.LayerGroup; actualLayer: L.LayerGroup; forecastLayer: L.LayerGroup; currNodeLayer: L.LayerGroup; chnname: string; enname: string; } export interface PathPoint { id: string; time: number; latlng: L.LatLng; windspeed: number; windpower: number; pressure: number; direction: string; speed: number; radius_7?: number; radius_10?: number; radius_7_s: string; radius_10_s: string; isforecast: boolean; provider: string; forecasts?: PathPoint[]; } export interface DegRadiusInfo { deg: number; radius: number; } export interface ArcInfo { radius: number; startAngle: number; endAngle: number; real: [number, number]; clockwise: boolean; } /** * 绘制台风服务 */ export declare class TyphoonService { private _map; private options; constructor(map: MyMap, options?: any); /** * 根据当前地图缩放级别决定是否显示时间提示 * * @private */ private showTimeTipByZoom; showTyphoon(dataList: PathPoint[], typhoonInfo: TyphoonDetails): TyphoonConfiguration; /** * 隐藏台风 * @param type * @returns */ hideTyphoon(type: 'all' | any): void; /** * 数据转换 * @param resData * @returns */ parseRawTyphoon(resData: any): any[]; private _drawActualLine; private _drawForecastLine; private _drawCurrNode; _getArcs(degStr: string): ArcInfo[]; _turnDeg(deg: number): number; _getColor(power: number): "#076DEB" | "#FEF301" | "#FC8F2B" | "#FE0405" | "#FE3BA3" | "#AD00D8" | "#f6f200"; }