aviation-chart 0.1.35 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.md +0 -0
- package/README.md +286 -0
- package/dist/MapSDK.d.ts +128 -0
- package/dist/apis/index.d.ts +60 -0
- package/dist/constants/aviation-sources.d.ts +28 -0
- package/dist/constants/builtin-layers.d.ts +3 -0
- package/dist/index.d.ts +21 -0
- package/dist/layericons/Airport-Civil-Selected.png +0 -0
- package/dist/layericons/Airport-Joint-Selected.png +0 -0
- package/dist/layericons/Airport-Military-Selected.png +0 -0
- package/dist/layericons/NDB-Mandatory-Selected.png +0 -0
- package/dist/layericons/NDB-Optional-Selected.png +0 -0
- package/dist/layericons/VOR-Mandatory-S-Selected.png +0 -0
- package/dist/layericons/VOR-Optional-S-Selected.png +0 -0
- package/dist/layericons/Waypoint-Mandatory-Selected.png +0 -0
- package/dist/layericons/Waypoint-Optional-Selected.png +0 -0
- package/dist/layericons/adsb-airplane.png +0 -0
- package/dist/layericons/air-label-left1.png +0 -0
- package/dist/layericons/air-label-none1.png +0 -0
- package/dist/layericons/air-label-right1.png +0 -0
- package/dist/layericons/airport-civ.png +0 -0
- package/dist/layericons/airport-mil.png +0 -0
- package/dist/layericons/airport-milext.png +0 -0
- package/dist/layericons/airport-userfoc.png +0 -0
- package/dist/layericons/airspace-line.png +0 -0
- package/dist/layericons/border.png +0 -0
- package/dist/layericons/controlled copy.png +0 -0
- package/dist/layericons/controlled-line.png +0 -0
- package/dist/layericons/controlled.png +0 -0
- package/dist/layericons/designate_point_inway.png +0 -0
- package/dist/layericons/designate_point_notinway.png +0 -0
- package/dist/layericons/line-blue-pattenr.png +0 -0
- package/dist/layericons/line-blue-pattern.png +0 -0
- package/dist/layericons/ndb-inway.png +0 -0
- package/dist/layericons/ndb-notinway.png +0 -0
- package/dist/layericons/notam-fill.png +0 -0
- package/dist/layericons/place-label.png +0 -0
- package/dist/layericons/re-text-bg.png +0 -0
- package/dist/layericons/restricted-line.png +0 -0
- package/dist/layericons/restricted.png +0 -0
- package/dist/layericons/segment-both.png +0 -0
- package/dist/layericons/segment-left.png +0 -0
- package/dist/layericons/segment-right.png +0 -0
- package/dist/layericons/sprite.json +352 -0
- package/dist/layericons/sprite.png +0 -0
- package/dist/layericons/sprite@2x.json +352 -0
- package/dist/layericons/sprite@2x.png +0 -0
- package/dist/layericons/taix-text-bg.png +0 -0
- package/dist/layericons/text-bg-orange.png +0 -0
- package/dist/layericons/text-bg-t.png +0 -0
- package/dist/layericons/text-bg.png +0 -0
- package/dist/layericons/vor-inway.png +0 -0
- package/dist/layericons/vor-notinway.png +0 -0
- package/dist/managers/ADSBManager.d.ts +39 -0
- package/dist/managers/ClickManager.d.ts +15 -0
- package/dist/managers/ErrorManager.d.ts +25 -0
- package/dist/managers/GeoJSONManager.d.ts +29 -0
- package/dist/managers/GlobalConfigManager.d.ts +48 -0
- package/dist/managers/Graticule.d.ts +41 -0
- package/dist/managers/HoverManage.d.ts +26 -0
- package/dist/managers/LayerManager.d.ts +33 -0
- package/dist/managers/LineLabelOptimizer.d.ts +38 -0
- package/dist/managers/NotamManager.d.ts +40 -0
- package/dist/managers/PerformanceManager.d.ts +40 -0
- package/dist/managers/PluginManager.d.ts +17 -0
- package/dist/managers/PopupManager.d.ts +2 -0
- package/dist/managers/RasterManager.d.ts +16 -0
- package/dist/managers/SelectFeature.d.ts +34 -0
- package/dist/managers/ThemeManage.d.ts +11 -0
- package/dist/managers/WindManager.d.ts +21 -0
- package/dist/nav-sdk.cjs +27061 -0
- package/dist/nav-sdk.d.ts +3228 -0
- package/dist/nav-sdk.esm.js +27037 -0
- package/dist/nav-sdk.min.js +1 -0
- package/dist/nav-sdk.umd.js +27067 -0
- package/dist/plugins/DrawPlugin.d.ts +14 -0
- package/dist/plugins/MeasurePlugin.d.ts +26 -0
- package/dist/sdk.style.css +696 -0
- package/dist/style/amm-chart.d.ts +439 -0
- package/dist/style/aviation-chart.d.ts +2354 -0
- package/dist/types/index.d.ts +212 -0
- package/package.json +64 -21
- package/dist/aviation-chart.umd.js +0 -6
- package/dist/index.cjs +0 -6
- package/dist/index.js +0 -3571
- package/preview.html +0 -48
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Map as MaplibreMap } from "maplibre-gl";
|
|
2
|
+
export declare class ADSB {
|
|
3
|
+
private map;
|
|
4
|
+
private readonly sourceId;
|
|
5
|
+
private readonly pointLayerId;
|
|
6
|
+
private readonly labelLayerId;
|
|
7
|
+
private opened;
|
|
8
|
+
private enableInterpolation;
|
|
9
|
+
private interpolationTimer;
|
|
10
|
+
private lastUpdateTime;
|
|
11
|
+
private currentFeatures;
|
|
12
|
+
private interpolatedFeatures;
|
|
13
|
+
private minZoomForInterpolation;
|
|
14
|
+
private lastBounds;
|
|
15
|
+
private boundsChangeThreshold;
|
|
16
|
+
private lastTimeStamps;
|
|
17
|
+
constructor(map: MaplibreMap);
|
|
18
|
+
open(pointLayerConfig?: any, labelLayerConfig?: any, enableInterpolation?: boolean): void;
|
|
19
|
+
close(): void;
|
|
20
|
+
update(features: any): void;
|
|
21
|
+
private startInterpolation;
|
|
22
|
+
private stopInterpolation;
|
|
23
|
+
private performInterpolation;
|
|
24
|
+
private interpolateFeature;
|
|
25
|
+
private mergeFeaturesWithInterpolation;
|
|
26
|
+
private getFeatureId;
|
|
27
|
+
private hasTimeStampChanged;
|
|
28
|
+
private compareTimeStamps;
|
|
29
|
+
private hasPositionChanged;
|
|
30
|
+
private getTimeStamp;
|
|
31
|
+
private updateTimeStampCache;
|
|
32
|
+
private hasSignificantPositionChange;
|
|
33
|
+
private getVisibleFeatures;
|
|
34
|
+
private isFeatureInBounds;
|
|
35
|
+
private hasBoundsChanged;
|
|
36
|
+
private updateMapDisplay;
|
|
37
|
+
destroy(): void;
|
|
38
|
+
private mergeLayerConfig;
|
|
39
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { LayerRef, HtmlFunction } from "../types";
|
|
2
|
+
import type { Map as MaplibreMap, PopupOptions } from "maplibre-gl";
|
|
3
|
+
type OffHandler = () => void;
|
|
4
|
+
type LayerCallback = (e: any) => void;
|
|
5
|
+
export declare class ClickManager {
|
|
6
|
+
private map;
|
|
7
|
+
private cleanupFunctions;
|
|
8
|
+
constructor(map: MaplibreMap);
|
|
9
|
+
private resolveArray;
|
|
10
|
+
private arrayifyAndOff;
|
|
11
|
+
clickLayer: (layers: LayerRef, cb: LayerCallback) => OffHandler;
|
|
12
|
+
clickPopup(layers: LayerRef, htmlFunc: HtmlFunction, popupOptions?: PopupOptions): OffHandler;
|
|
13
|
+
private clearLayerListeners;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SDKError, ErrorHandler, HookCallback } from '../types';
|
|
2
|
+
export declare class ErrorManager {
|
|
3
|
+
private errorHandlers;
|
|
4
|
+
private errorHistory;
|
|
5
|
+
private maxErrorHistory;
|
|
6
|
+
private hooks;
|
|
7
|
+
constructor();
|
|
8
|
+
createError(message: string, code: string, details?: any, recoverable?: boolean): SDKError;
|
|
9
|
+
addErrorHandler(handler: ErrorHandler): void;
|
|
10
|
+
removeErrorHandler(handler: ErrorHandler): void;
|
|
11
|
+
handleError(error: SDKError): Promise<void>;
|
|
12
|
+
private recordError;
|
|
13
|
+
getErrorHistory(): SDKError[];
|
|
14
|
+
clearErrorHistory(): void;
|
|
15
|
+
getErrorStats(): {
|
|
16
|
+
total: number;
|
|
17
|
+
recoverable: number;
|
|
18
|
+
nonRecoverable: number;
|
|
19
|
+
};
|
|
20
|
+
addHook(hookName: string, callback: HookCallback): void;
|
|
21
|
+
removeHook(hookName: string, callback: HookCallback): void;
|
|
22
|
+
triggerHook(hookName: string, context: any): Promise<void>;
|
|
23
|
+
private setupGlobalErrorHandling;
|
|
24
|
+
destroy(): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Map as MaplibreMap, GeoJSONSourceSpecification } from "maplibre-gl";
|
|
2
|
+
import type { GeoJSONFeature, StyleConfig, IGeoJSONManager, ClusteringConfig } from "../types";
|
|
3
|
+
import { PerformanceManager } from "./PerformanceManager";
|
|
4
|
+
import type { GeoJSON } from "geojson";
|
|
5
|
+
export declare class GeoJSONManager implements IGeoJSONManager {
|
|
6
|
+
private map;
|
|
7
|
+
private features;
|
|
8
|
+
private featureCounter;
|
|
9
|
+
private performanceManager;
|
|
10
|
+
constructor(map: MaplibreMap, performanceManager?: PerformanceManager);
|
|
11
|
+
private generateFeatureId;
|
|
12
|
+
addPoint(coordinates: [number, number], properties?: Record<string, any>, style?: StyleConfig, id?: string): string;
|
|
13
|
+
addLine(coordinates: [number, number][], properties?: Record<string, any>, style?: StyleConfig, id?: string): string;
|
|
14
|
+
addPolygon(coordinates: [number, number][][], properties?: Record<string, any>, style?: StyleConfig, id?: string): string;
|
|
15
|
+
addGeoJSON(sourceId: string, geojson?: GeoJSON | string | null | undefined, props?: GeoJSONSourceSpecification | null | undefined): any;
|
|
16
|
+
private addFeature;
|
|
17
|
+
removeFeature(id: string): boolean;
|
|
18
|
+
updateFeature(id: string, updates: Partial<GeoJSONFeature>): boolean;
|
|
19
|
+
clearAllFeatures(): void;
|
|
20
|
+
getFeature(id: string): GeoJSONFeature | undefined;
|
|
21
|
+
getAllFeatures(): GeoJSONFeature[];
|
|
22
|
+
setClusteringEnabled(enabled: boolean): void;
|
|
23
|
+
setClusteringConfig(layerId: string, config: ClusteringConfig): void;
|
|
24
|
+
private createFeatureLayer;
|
|
25
|
+
private removeFeatureLayer;
|
|
26
|
+
private getLayerType;
|
|
27
|
+
private getDefaultPaint;
|
|
28
|
+
private getDefaultLayout;
|
|
29
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface GlobalConfig {
|
|
2
|
+
apiKey?: string;
|
|
3
|
+
baseUrl?: string;
|
|
4
|
+
version?: string;
|
|
5
|
+
period?: string;
|
|
6
|
+
chartConfig?: {
|
|
7
|
+
enableAIP?: boolean;
|
|
8
|
+
enableNOTAM?: boolean;
|
|
9
|
+
enableADSB?: boolean;
|
|
10
|
+
defaultCenter?: [number, number];
|
|
11
|
+
defaultZoom?: number;
|
|
12
|
+
};
|
|
13
|
+
styleConfig?: {
|
|
14
|
+
theme?: "light" | "dark";
|
|
15
|
+
language?: "zh-CN" | "en-US";
|
|
16
|
+
};
|
|
17
|
+
periodConfig?: {
|
|
18
|
+
switchDay?: number;
|
|
19
|
+
};
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}
|
|
22
|
+
declare class GlobalConfigManager {
|
|
23
|
+
private static instance;
|
|
24
|
+
private config;
|
|
25
|
+
private listeners;
|
|
26
|
+
private mapReinitCallback;
|
|
27
|
+
private constructor();
|
|
28
|
+
static getInstance(): GlobalConfigManager;
|
|
29
|
+
private parseURLParams;
|
|
30
|
+
private parseBooleanParam;
|
|
31
|
+
private getCurrentScriptUrl;
|
|
32
|
+
refreshFromURL(): void;
|
|
33
|
+
setConfig(newConfig: Partial<GlobalConfig>): void;
|
|
34
|
+
getConfig(): GlobalConfig;
|
|
35
|
+
getConfigItem<T>(key: string, defaultValue?: T): T | undefined;
|
|
36
|
+
updateConfigItem<T>(key: string, value: T): void;
|
|
37
|
+
addListener(event: string, callback: Function): () => void;
|
|
38
|
+
removeListener(event: string, callback: Function): void;
|
|
39
|
+
private notifyListeners;
|
|
40
|
+
reset(): void;
|
|
41
|
+
setPeriod(period: string): void;
|
|
42
|
+
getPeriod(): string | undefined;
|
|
43
|
+
generateCurrentPeriod(): Promise<string>;
|
|
44
|
+
setMapReinitCallback(callback: (() => void | Promise<void>) | null): void;
|
|
45
|
+
destroy(): void;
|
|
46
|
+
}
|
|
47
|
+
export declare const globalConfig: GlobalConfigManager;
|
|
48
|
+
export type { GlobalConfigManager };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Map as MaplibreMap } from 'maplibre-gl';
|
|
2
|
+
export interface GraticuleConfig {
|
|
3
|
+
enabled?: boolean;
|
|
4
|
+
interval?: number;
|
|
5
|
+
lineColor?: string;
|
|
6
|
+
lineWidth?: number;
|
|
7
|
+
lineOpacity?: number;
|
|
8
|
+
lineDasharray?: number[];
|
|
9
|
+
labelColor?: string;
|
|
10
|
+
labelSize?: number;
|
|
11
|
+
showLabels?: boolean;
|
|
12
|
+
labelFormat?: 'decimal' | 'dms';
|
|
13
|
+
}
|
|
14
|
+
export declare class GraticuleManager {
|
|
15
|
+
private map;
|
|
16
|
+
private config;
|
|
17
|
+
private isVisible;
|
|
18
|
+
private sourceId;
|
|
19
|
+
private pointSourceId;
|
|
20
|
+
private lineLayerId;
|
|
21
|
+
private lonLabelLayerId;
|
|
22
|
+
private latLabelLayerId;
|
|
23
|
+
private lastInterval;
|
|
24
|
+
constructor(map: MaplibreMap, config?: GraticuleConfig);
|
|
25
|
+
private initialize;
|
|
26
|
+
private addGraticuleSources;
|
|
27
|
+
private addGraticuleLayers;
|
|
28
|
+
private getDynamicInterval;
|
|
29
|
+
private generateGraticuleData;
|
|
30
|
+
private formatCoordinate;
|
|
31
|
+
update(): void;
|
|
32
|
+
show(): void;
|
|
33
|
+
hide(): void;
|
|
34
|
+
toggle(): void;
|
|
35
|
+
updateConfig(newConfig: Partial<GraticuleConfig>): void;
|
|
36
|
+
private refresh;
|
|
37
|
+
remove(): void;
|
|
38
|
+
getConfig(): Required<GraticuleConfig>;
|
|
39
|
+
isGraticuleVisible(): boolean;
|
|
40
|
+
destroy(): void;
|
|
41
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { LayerRef, HtmlFunction } from "../types";
|
|
2
|
+
import type { Map as MaplibreMap, PopupOptions } from "maplibre-gl";
|
|
3
|
+
export interface HoverConfig {
|
|
4
|
+
layerId: string;
|
|
5
|
+
hoverColor?: string;
|
|
6
|
+
hoverOpacity?: number;
|
|
7
|
+
hoverWidth?: number;
|
|
8
|
+
originalPaint?: any;
|
|
9
|
+
originalLayout?: any;
|
|
10
|
+
}
|
|
11
|
+
type OffHandler = () => void;
|
|
12
|
+
export declare class HoverManager {
|
|
13
|
+
private map;
|
|
14
|
+
private hoveredLayers;
|
|
15
|
+
private isEnabled;
|
|
16
|
+
private debounceTimers;
|
|
17
|
+
private debounceDelay;
|
|
18
|
+
private cleanupFunctions;
|
|
19
|
+
constructor(map: MaplibreMap);
|
|
20
|
+
setDebounceDelay(delay: number): void;
|
|
21
|
+
private resolveArray;
|
|
22
|
+
private arrayifyAndOff;
|
|
23
|
+
hoverLayer: (layers: LayerRef, cb: (e: any) => void) => void;
|
|
24
|
+
hoverPopup(layers: LayerRef, htmlFunc: HtmlFunction, popupOptions?: PopupOptions): OffHandler;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Map as MaplibreMap } from "maplibre-gl";
|
|
2
|
+
import type { LayerConfig, ILayerManager, LODConfig } from "../types";
|
|
3
|
+
import { TYPEMAP } from "../constants/builtin-layers";
|
|
4
|
+
import { PerformanceManager } from "./PerformanceManager";
|
|
5
|
+
export declare class LayerManager implements ILayerManager {
|
|
6
|
+
private map;
|
|
7
|
+
private customLayers;
|
|
8
|
+
private builtInLayers;
|
|
9
|
+
private performanceManager;
|
|
10
|
+
private customLayerStyles;
|
|
11
|
+
constructor(map: MaplibreMap, performanceManager?: PerformanceManager, customLayerStyles?: Record<string, any>);
|
|
12
|
+
private initializeBuiltInLayers;
|
|
13
|
+
addLayer(layer: LayerConfig): string;
|
|
14
|
+
removeLayer(layerId: string): boolean;
|
|
15
|
+
updateLayer(layerId: string, updates: Partial<LayerConfig>): boolean;
|
|
16
|
+
showLayer(layerId: string): boolean;
|
|
17
|
+
hideLayer(layerId: string): boolean;
|
|
18
|
+
toggleLayer(layerId: string): boolean;
|
|
19
|
+
getLayer(layerId: string): LayerConfig | undefined;
|
|
20
|
+
getAllLayers(): LayerConfig[];
|
|
21
|
+
batchUpdateLayers(updates: Array<{
|
|
22
|
+
id: string;
|
|
23
|
+
updates: Partial<LayerConfig>;
|
|
24
|
+
}>): void;
|
|
25
|
+
batchShowLayers(layerIds: string[]): void;
|
|
26
|
+
batchHideLayers(layerIds: string[]): void;
|
|
27
|
+
addBuiltInLayer(layerName: string | Array<string>, zindex: string): Promise<void>;
|
|
28
|
+
removeBuiltInLayer(layerName: string): boolean;
|
|
29
|
+
getBuiltInLayers(): typeof TYPEMAP;
|
|
30
|
+
isBuiltInLayerVisible(layerId: string): boolean;
|
|
31
|
+
setLODEnabled(enabled: boolean): void;
|
|
32
|
+
setLayerLODConfig(layerId: string, config: LODConfig): void;
|
|
33
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import maplibregl from 'maplibre-gl';
|
|
2
|
+
interface LineLabelOptions {
|
|
3
|
+
builtInKey: string;
|
|
4
|
+
lineLayerId: string;
|
|
5
|
+
lineLabelId: string;
|
|
6
|
+
fieldList: string[];
|
|
7
|
+
suffix?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class LineLabelOptimizer {
|
|
10
|
+
private map;
|
|
11
|
+
private builtInKey;
|
|
12
|
+
private lineLayerId;
|
|
13
|
+
private lineLabelId;
|
|
14
|
+
private suffix;
|
|
15
|
+
private fieldList;
|
|
16
|
+
private originalLabelLayer;
|
|
17
|
+
private callback;
|
|
18
|
+
private originalLayerList;
|
|
19
|
+
private boundExecute;
|
|
20
|
+
private isActive;
|
|
21
|
+
private boundOnStyleData;
|
|
22
|
+
private lastLineLayerVisibility;
|
|
23
|
+
constructor(map: maplibregl.Map, callback: Function);
|
|
24
|
+
get labelOptions(): LineLabelOptions;
|
|
25
|
+
set labelOptions(options: LineLabelOptions);
|
|
26
|
+
private getLineLayerVisibility;
|
|
27
|
+
private onStyleDataChange;
|
|
28
|
+
private handleLineLayerVisibilityChange;
|
|
29
|
+
private hideOriginalLabelLayer;
|
|
30
|
+
private showOriginalLabelLayer;
|
|
31
|
+
private hideDeduplicatedLabelLayer;
|
|
32
|
+
private showDeduplicatedLabelLayer;
|
|
33
|
+
private execute;
|
|
34
|
+
update(): void;
|
|
35
|
+
remove(): void;
|
|
36
|
+
private cloneLayerStyle;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Map as MaplibreMap } from "maplibre-gl";
|
|
2
|
+
import { HoverManager } from "./HoverManage";
|
|
3
|
+
import { ClickManager } from "./ClickManager";
|
|
4
|
+
import API from "../apis";
|
|
5
|
+
export declare class NOTAM {
|
|
6
|
+
private map;
|
|
7
|
+
private readonly sourceLineId;
|
|
8
|
+
private readonly sourceFillId;
|
|
9
|
+
private readonly lineLayerId;
|
|
10
|
+
private readonly fillLayerId;
|
|
11
|
+
private readonly labelLayerId;
|
|
12
|
+
private opened;
|
|
13
|
+
hoverManager: HoverManager;
|
|
14
|
+
clickManager: ClickManager;
|
|
15
|
+
private _lineHoveredStateId;
|
|
16
|
+
private _fillHoveredStateId;
|
|
17
|
+
private beforeId;
|
|
18
|
+
api: API;
|
|
19
|
+
constructor(map: MaplibreMap);
|
|
20
|
+
defaultParams: {
|
|
21
|
+
pageNo: number;
|
|
22
|
+
pageSize: number;
|
|
23
|
+
onlyGeojson: boolean;
|
|
24
|
+
typeC: boolean;
|
|
25
|
+
notamOffset: string;
|
|
26
|
+
isInternational: boolean;
|
|
27
|
+
isCompanyVersion: boolean;
|
|
28
|
+
};
|
|
29
|
+
open(builtin: Boolean, lineLayerConfig?: any, fillLayerConfig?: any, isPattern?: boolean): void;
|
|
30
|
+
close(): void;
|
|
31
|
+
update(features: any): void;
|
|
32
|
+
hover(callback: (e: any) => void): void;
|
|
33
|
+
refresh(): void;
|
|
34
|
+
destroy(): void;
|
|
35
|
+
getNotamData(params?: any): Promise<any>;
|
|
36
|
+
openNotamDetail(): void;
|
|
37
|
+
private _getNotamData;
|
|
38
|
+
private isObject;
|
|
39
|
+
private mergeLayerConfig;
|
|
40
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { LODConfig, ClusteringConfig, LayerConfig } from '../types';
|
|
2
|
+
export declare class PerformanceManager {
|
|
3
|
+
private lodEnabled;
|
|
4
|
+
private clusteringEnabled;
|
|
5
|
+
private lazyLoadingEnabled;
|
|
6
|
+
private layerLODConfigs;
|
|
7
|
+
private clusteringConfigs;
|
|
8
|
+
private visibleLayers;
|
|
9
|
+
private layerLoadQueue;
|
|
10
|
+
private isProcessingQueue;
|
|
11
|
+
constructor(options?: {
|
|
12
|
+
lodEnabled?: boolean;
|
|
13
|
+
clusteringEnabled?: boolean;
|
|
14
|
+
lazyLoadingEnabled?: boolean;
|
|
15
|
+
});
|
|
16
|
+
setLODEnabled(enabled: boolean): void;
|
|
17
|
+
setLayerLODConfig(layerId: string, config: LODConfig): void;
|
|
18
|
+
getLayerLODConfig(layerId: string): LODConfig | undefined;
|
|
19
|
+
setClusteringEnabled(enabled: boolean): void;
|
|
20
|
+
setClusteringConfig(layerId: string, config: ClusteringConfig): void;
|
|
21
|
+
getClusteringConfig(layerId: string): ClusteringConfig | undefined;
|
|
22
|
+
setLazyLoadingEnabled(enabled: boolean): void;
|
|
23
|
+
addToLazyLoadQueue(layerId: string, priority?: number): void;
|
|
24
|
+
private processLoadQueue;
|
|
25
|
+
private loadLayer;
|
|
26
|
+
private simulateLayerLoading;
|
|
27
|
+
private delay;
|
|
28
|
+
shouldLayerBeVisible(layerId: string, currentZoom: number): boolean;
|
|
29
|
+
getPerformanceStats(): {
|
|
30
|
+
visibleLayers: number;
|
|
31
|
+
queuedLayers: number;
|
|
32
|
+
lodEnabled: boolean;
|
|
33
|
+
clusteringEnabled: boolean;
|
|
34
|
+
lazyLoadingEnabled: boolean;
|
|
35
|
+
};
|
|
36
|
+
optimizeLayerConfig(layer: LayerConfig, currentZoom: number): LayerConfig;
|
|
37
|
+
private simplifyPaintProperties;
|
|
38
|
+
private simplifyLayoutProperties;
|
|
39
|
+
destroy(): void;
|
|
40
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IPlugin, IMapSDK } from '../types';
|
|
2
|
+
export declare class PluginManager {
|
|
3
|
+
private plugins;
|
|
4
|
+
private sdk;
|
|
5
|
+
constructor(sdk: IMapSDK);
|
|
6
|
+
use(plugin: IPlugin): void;
|
|
7
|
+
getPlugin<T extends IPlugin>(name: string): T | undefined;
|
|
8
|
+
getAllPlugins(): IPlugin[];
|
|
9
|
+
hasPlugin(name: string): boolean;
|
|
10
|
+
uninstallPlugin(name: string): boolean;
|
|
11
|
+
uninstallAllPlugins(): void;
|
|
12
|
+
getPluginStats(): {
|
|
13
|
+
total: number;
|
|
14
|
+
names: string[];
|
|
15
|
+
};
|
|
16
|
+
destroy(): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Map as MaplibreMap } from "maplibre-gl";
|
|
2
|
+
export declare class RasterManager {
|
|
3
|
+
private map;
|
|
4
|
+
private rasterUrl;
|
|
5
|
+
private coordinates;
|
|
6
|
+
private readonly MAX_LAT;
|
|
7
|
+
constructor(map: MaplibreMap);
|
|
8
|
+
get rasterSourceUrl(): string;
|
|
9
|
+
set rasterSourceUrl(url: string);
|
|
10
|
+
private updateCoordinates;
|
|
11
|
+
private addSource;
|
|
12
|
+
private addLayer;
|
|
13
|
+
addRasterLayer(layerId: string, sourceId: string, meteoType: string): void;
|
|
14
|
+
updateRasterLayer(sourceId: string, newUrl: string, meteoType: string): void;
|
|
15
|
+
removeRasterLayer(layerId: string, sourceId: string): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Map as MaplibreMap } from "maplibre-gl";
|
|
2
|
+
interface SelectFeatureOptions {
|
|
3
|
+
isHighlight: boolean;
|
|
4
|
+
highlightColor: string;
|
|
5
|
+
fillOpacity: number;
|
|
6
|
+
circleRadius: number;
|
|
7
|
+
tolerance: number;
|
|
8
|
+
multiSelect: boolean;
|
|
9
|
+
lineWidth: number;
|
|
10
|
+
onSelect: ((lngLat: {
|
|
11
|
+
lng: number;
|
|
12
|
+
lat: number;
|
|
13
|
+
}, feature: any, selectedFeatures: any[]) => void) | null;
|
|
14
|
+
onContextMenu: ((feature: any, properties: any) => void) | null;
|
|
15
|
+
}
|
|
16
|
+
export declare class SelectFeature {
|
|
17
|
+
private map;
|
|
18
|
+
private options;
|
|
19
|
+
private highlightSourceId;
|
|
20
|
+
private selectedFeatures;
|
|
21
|
+
private selectLayerIds;
|
|
22
|
+
constructor(map: MaplibreMap);
|
|
23
|
+
setSelectLayers(layerIds: string[] | null): void;
|
|
24
|
+
setOptions(options: Partial<SelectFeatureOptions>): void;
|
|
25
|
+
enable(): void;
|
|
26
|
+
disable(): void;
|
|
27
|
+
removeSelectedFeatures(): void;
|
|
28
|
+
removeHighlightLayersOnly(): void;
|
|
29
|
+
getSelected(): any[];
|
|
30
|
+
_updateHighlightLayer(): void;
|
|
31
|
+
_onClick(e: maplibregl.MapMouseEvent): void;
|
|
32
|
+
_onContextMenu(e: MouseEvent): boolean;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Map as MaplibreMap } from "maplibre-gl";
|
|
2
|
+
export declare class Theme {
|
|
3
|
+
private map;
|
|
4
|
+
constructor(map: MaplibreMap);
|
|
5
|
+
private ARRAY_STYLE_KEYS;
|
|
6
|
+
layerExists: (layerId: string) => boolean;
|
|
7
|
+
applyLayerStyle(layerId: string, style: any, checkLayerExists?: boolean): void;
|
|
8
|
+
handleNormalLayers(customStyle: any): void;
|
|
9
|
+
handleArrayLayers(customStyle: any): void;
|
|
10
|
+
setStyle: (customStyle: any) => void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Map as MaplibreMap } from "maplibre-gl";
|
|
2
|
+
export interface WindFrame {
|
|
3
|
+
refTime: string;
|
|
4
|
+
uUrl: string;
|
|
5
|
+
vUrl: string;
|
|
6
|
+
}
|
|
7
|
+
export interface WindOptions {
|
|
8
|
+
numParticles?: number;
|
|
9
|
+
speedFactor?: number;
|
|
10
|
+
dataRange?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class WindManager {
|
|
13
|
+
private map;
|
|
14
|
+
private options;
|
|
15
|
+
private _visible;
|
|
16
|
+
constructor(map: MaplibreMap, options?: WindOptions);
|
|
17
|
+
get visible(): boolean;
|
|
18
|
+
open(frame?: WindFrame): void;
|
|
19
|
+
setFrame(frame: WindFrame): void;
|
|
20
|
+
close(): void;
|
|
21
|
+
}
|