import L from 'leaflet'; import { type MyMap } from 'map-sdk-leaflet/es/sdk/ShipxyAPISDK'; import 'leaflet-polylinedecorator'; import 'leaflet-textpath'; interface DataObj { diluteMaxCount: any; trackid: string; lineColor?: string; lineWeight?: number; dash?: boolean; dashArray?: number[]; circleOverColor?: string; textColor?: string; emission?: any; emissionShow?: boolean; aiDetection?: any; aiDetectionShow?: boolean; startShow?: boolean; endShow?: boolean; middleShow?: boolean; stopShow?: boolean; slowShow: boolean; suspectStopShow: boolean; directionShow?: boolean; isShowLable?: boolean; isOpenMathColor?: boolean; isShowTip?: boolean; isShowLineHover?: boolean; lableFields?: string[]; showTimeType?: string[]; tipHideTimeOut?: number; notDiluteZoom?: any[]; isDilute: boolean; isDiluteType?: number; startCircleType?: number; endCircleType?: number; startCircleColor?: string; endCircleColor?: string; circleColor?: string; circleFillColor?: string; circleLowSogColor?: string; circleLowSogFillColor?: string; startImg?: string; endImg?: string; stopImg?: string; slowImg?: string; suspectStopImg?: string; analysisResult?: any; trackLangCount: number; pointClick?: (...params: any) => void; pointIconClick?: (...params: any) => void; lableMap: { [key: string]: string; }; arcMin?: number; zIndex: number; } declare class TrackSymbolImpl { trackid: string; tracks: any[]; ship: any; map: any; trackNew: boolean; isShowTrack: boolean; canvas_track: any; lineColor: string; lineWeight: number; dash: boolean; dashArray: number[]; circleOverColor: string; textColor: string; emission: any; emissionShow: boolean; aiDetection: any; aiDetectionShow: boolean; aiActivityColor: string; startShow: boolean; endShow: boolean; middleShow: boolean; stopShow: boolean; slowShow: boolean; suspectStopShow: boolean; directionShow: boolean; isOpenMathColor: boolean; isShowLable: boolean; isShowTip: boolean; isShowLineHover: boolean; lableFields: string[]; showTimeType: string[]; tipHideTimeOut: number; notDiluteZoom: any[]; isDilute: boolean; isDiluteType: number; startCircleType?: number; endCircleType: number; startCircleColor: string; endCircleColor: string; circleColor: string; circleFillColor: string; circleLowSogColor: string; circleLowSogFillColor: string; startImg: string; endImg: string; stopImg: string; slowImg: string; suspectStopImg: string; analysisResult: any; preZoom: number; preLatlng: any; tracklang: number; labelCache: any[]; pointClick: any; pointIconClick: any; lableMap: { [key: string]: string; }; arcMin: number; zIndex: number; showHtml_txt_templater: any; mouseTip: any; _map: MyMap; _analysisResultSearch: any[]; mouseTipTimer: any; diluteMaxCount: any; diluteDataCache: Record; aiDataCache: Record; oldTrackLength: number; oldAiLength: number; constructor(map: MyMap, tracks: any[], ship: any, dataObj: DataObj); private _Event; show(): void; hide(): void; setZIndex(zIndex: any): void; removeTrack(): void; /**航线绘制,只读模态展示, */ showTrack(): void; /** * 绘制航线 * @param processedData */ drawLine(processedData: any[]): void; /** * 坐标点稀疏、显示的点位信息 * @returns */ calcProcessedData(tracks?: any[], isAppend?: boolean): any; _calcDrawTrackPoints(trackPoints: any[]): any[]; _calcDrawTrackPointsZip(points: any[], dilutionFactor?: number): any[]; /** * 显示ai检测 * @param latlngs * @returns */ _showTrackAi(latlngs: any[], appendAiList?: any[]): any; _showTrackEmission(latlngs: any[]): L.Polyline; setTrackEmissionShow(isShow: any): void; _getStopSlowTrack(startTime: number): any; showHtml(currentTrack: any, beforeTrack: any, unit?: string[]): string; showHtml_data(currentTrack: { kn: number; utc: number; }, beforeTrack: { kn: number; utc: number; }): any; showHtml_txt(value: string, key: string): string; _on_baselayerchange(): void; /** * 坐标点稀释 * @param trackData 轨迹数据 * @param isDilute 是否开启稀释 * @param zoomLevel * @returns */ dealWrapData(trackData: any[], isDilute: boolean, isAppend?: boolean, zoomLevel?: number): any; dealWrapDataFilter(currentItem: { analysisInfo: { type: any; }; from: number; isKeep: number; }, compareItem: { analysisInfo: { type: any; }; from: number; }): boolean; getLng(coordinates: { lng: any; lon: any; }): any; getLat(coordinates: { lat: any; }): any; getLatLng(point: any): { lat: any; lng: any; }; getLineDir(startCoordinates: L.LatLngExpression, endCoordinates: L.LatLngTuple | { lat: any; lng: any; } | null): 1 | 2; getTrackLabelPath1(latAndLng: { lat: any; lng: any; }, type: number): number[][]; getTrackLabelPath2(latAndLng: { lat: any; lng: any; }, lng: number, type: number): number[][]; setAreaPath(centerCoordinates: L.LatLngExpression, width: number): { polygon: L.Polyline; offset: { x: number; y: number; }; }; getRotatePoint(originalX: number, originalY: number, pointX: number, pointY: number, angleDegrees: number): { x: number; y: number; }; addLabelCache(lineCoordinates: any[][]): boolean; toLatlng(coordinates: number[]): L.LatLng; resetCache(): void; idCrossLine(line1: any, line2: any): boolean; addTrackManager(labelPath: any[][]): boolean; getOffsetLatLng(coordinate: { lat: any; lng: any; }): { lat: number; lng: number; }; /** * 追加航线分段加载 */ appendLine(tracks: any[], aiDetectionList?: []): void; } declare const trackSymbol: (map: MyMap, data: any[], ship: any, options: DataObj) => TrackSymbolImpl; export { trackSymbol, TrackSymbolImpl };