import L from 'leaflet'; import type { CanvasShip } from 'map-sdk-leaflet/es/sdk/model/CanvasShip'; /** * 轨迹 */ export declare class Track { from: string | number; lng: string | number; lat: string | number; utc: string | number; mmsi: string | number; sog: string | number; hdg: string | number; cog: string | number; draught?: string; dest: undefined; eta: undefined; serverTime: undefined; shipName?: string; MMSI?: string; rot?: string; navistatus: any; } interface EmissionDataItem { [key: string]: any; time: number; co2: number; } interface EmissionConfig { datas: EmissionDataItem[]; fieldsMap: { time: string; co2: string; }; scalesMap: { co2: number; }; colorsMap: { co2: any[]; }; } interface TrackEmission { utc: number; emissionCo2: number | null; emissionCo2Color: string | null; emissionCo2Count?: number; } export interface TrackItem { trackId: string; data: any[]; trackLang: number | string; symbol: any; options: any; ship: any; } interface TrackServiceOptions { from180: any; minStopTime: number; minSlowTime: number; minSuspectStopSpeed: number; maxStopSpeed: number; maxSlowSpeed: number; playSpeed: number; beginTime: number; playCallBack?: () => void; playGPSCallBack?: () => void; isVisiableWithNoSignal: boolean; showPlayObjLable: boolean; } export interface TrackPolyLineOptions { maxStopSpeed: number; lableMap: Record; showTimeType: string[]; notDiluteZoom: number[]; lineColor: string; lineWeight: number; circleOverColor: string; dash: boolean; dashArray: number[]; startShow: boolean; endShow: boolean; directionShow: boolean; isEnablePlayer: boolean; isShowLable: boolean; lableFields: string[]; shipColor?: string; shipLineColor?: string; from180?: number; tipHideTimeOut: number; startCircleType: number; endCircleType: number; startCircleColor: string; endCircleColor: string; isAppend: boolean; } export declare class TrackServiceImpl { private _map; private options; private items; private trackPlayService; mmCount: number; constructor(map: any, options?: Partial); /** * 增加轨迹 * @params trackId String 轨迹ID * @params tracks Array Track对象集合 * @params options Object 设置信息 * @params ship CanvasShip 船舶静态数据{name:船名,mmsi:MMSI,from:数据来源,navistatus:航行状态,draught:吃水} */ add(trackId: string, trackData: any[], options: Partial, shipInfo: Partial): TrackItem; autoSetViewBounds(trackData: any[]): any[]; getCenterByTracks(trackPoints: any[]): L.LatLng; formateTrack(tracks: any[], shipname: string, mmsi: string): Track[]; /** * 增加轨迹并展示 * @params trackId String 轨迹ID * @params tracks Array Track对象集合 * @params options TrackPolyLineOptions 设置信息 * @params ship CanvasShip 船舶静态数据{name:船名,mmsi:MMSI,from:数据来源,navistatus:航行状态,draught:吃水} * @params autoViewzoom boolea 是否自适应展示,默认:true * @return trackItem */ addAndShow(trackId: string, tracks: any[], options: Partial, ship: any, autoViewzoom?: boolean): TrackItem; /** * 添加轨迹(根据参数自动获取轨迹数据) * @params mmsi string mmsi * @params btime number 起始时间戳,秒 * @params etime number 结束时间戳,秒 * @params options Object 设置信息 * @params callBack function 回调方法 * @params tp number 轨迹数据类型,0:普通,1:抽稀,2:完整,默认:0 * @params vy number 航程,0:无,1:有,默认:0 * @params autoViewzoom boolea 是否自适应展示,默认:true */ addAndShowByUrl(mmsi: string, btime: string, etime: string, options: Partial, callBack: (arg0: any) => void, tp: string | number | string[] | null | undefined, vy: string | number | string[] | null | undefined, autoViewzoom: boolean): TrackItem | null | undefined; appendTracks(trackId: string, tracks: any[], aiDetectionList?: any[]): void; appendFinish(trackId: string): void; getEmissionOptions(options: any): any; /** * 显示指定轨迹 * @params trackId String 轨迹ID * @params autoViewzoom boolea 是否自适应展示,默认:true */ show(trackId: string, autoViewzoom?: boolean, append?: boolean): TrackItem; calculationTracklang(data: string | any[]): string; _analysisTrack(trackIndex: string): void; _reSetTrackByAnalysisInfo(tracks: any[], analysisInfo: { startTime?: null; endTime?: null; time?: number; _time?: string; isShow?: boolean; tracks?: never[]; tracksHash?: Record; type?: null; startTrackIndex?: any; endTrackIndex?: any; }): void; _analysisEmission(tracks: TrackEmission[], emissionConfig?: EmissionConfig): TrackEmission[]; _getTrackEmissionColor(emissionValue: number | null, segments: string | any[]): any; _getTrackEmissionCount(startTimeInSeconds: number, endTimeInSeconds: number, co2EmissionData: { [x: string]: { co2s: any; }; }): number; /** * 可视范围同时显示所有轨迹 * @params trackId string 轨迹ID,可为空,为空则适应所有轨迹 */ _viewAllTrackInMap(trackId: string, options?: undefined): void; /** * 隐藏指定轨迹 * @params trackId String 轨迹ID */ _hide(trackId: string): void; /** * 隐藏指定轨迹 * @params trackId String 轨迹ID */ hide(trackId: string): void; /** * 隐藏全部轨迹 */ hideAll(): void; _remove(trackId: string): void; /** * 删除指定轨迹 * @params trackId String 轨迹ID */ remove(trackId: any): void; /** * 删除所有轨迹 */ removeAll(): void; refreshView(): void; /** * 获取轨迹对象集合 */ getItems(): { [key: string]: TrackItem; }; /** * 获取轨迹数量 */ getLength(): number; /** * 获取所有轨迹集合 */ getValues(): TrackItem[]; /** * 获取所有轨迹ID集合 */ getKeys(): string[]; /** * 查询轨迹数据 * @params mmsi string mmsi * @params btime number 起始时间戳,秒 * @params etime number 结束时间戳,秒 * @params going boolean 是否为连续查询,默认:false * @params tp number 轨迹数据类型,0:普通,1:抽稀,2:完整,默认:0 * @params vy number 航程,0:无,1:有,默认:0 * mmsi, btime, etime, going, tp, vy */ getTrackInfoByUrl(): any[]; /** * 是否包含指定轨迹 * @params trackId String 轨迹ID */ has(trackId: string): boolean; /** * 是否有轨迹显示 */ hasTrackIsShow(): boolean; /** * 获取指定轨迹 * @params trackId String 轨迹ID */ get(trackId: string): TrackItem | undefined; setZIndex(zIndex?: number): void; } export {};