@fleet-frontend/mower-maps 0.0.2
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/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/3900c861790f0a9d.png +0 -0
- package/dist/config/constants.d.ts +122 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/edit.d.ts +48 -0
- package/dist/config/edit.d.ts.map +1 -0
- package/dist/config/index.d.ts +21 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/styles.d.ts +25 -0
- package/dist/config/styles.d.ts.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +6837 -0
- package/dist/index.js +6842 -0
- package/dist/processor/MapDataProcessor.d.ts +31 -0
- package/dist/processor/MapDataProcessor.d.ts.map +1 -0
- package/dist/processor/PathDataProcessor.d.ts +28 -0
- package/dist/processor/PathDataProcessor.d.ts.map +1 -0
- package/dist/processor/builder/AntennaDataBuilder.d.ts +18 -0
- package/dist/processor/builder/AntennaDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/BoundaryDataBuilder.d.ts +17 -0
- package/dist/processor/builder/BoundaryDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/ChannelDataBuilder.d.ts +48 -0
- package/dist/processor/builder/ChannelDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/ChargingPileDataBuilder.d.ts +16 -0
- package/dist/processor/builder/ChargingPileDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/ObstacleDataBuilder.d.ts +20 -0
- package/dist/processor/builder/ObstacleDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/PathDataBuilder.d.ts +35 -0
- package/dist/processor/builder/PathDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/PointDataBuilder.d.ts +11 -0
- package/dist/processor/builder/PointDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/SvgElementDataBuilder.d.ts +16 -0
- package/dist/processor/builder/SvgElementDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/VisionOffDataBuilder.d.ts +20 -0
- package/dist/processor/builder/VisionOffDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/index.d.ts +10 -0
- package/dist/processor/builder/index.d.ts.map +1 -0
- package/dist/processor/index.d.ts +4 -0
- package/dist/processor/index.d.ts.map +1 -0
- package/dist/render/AntennaManager.d.ts +118 -0
- package/dist/render/AntennaManager.d.ts.map +1 -0
- package/dist/render/BoundaryLabelsManager.d.ts +145 -0
- package/dist/render/BoundaryLabelsManager.d.ts.map +1 -0
- package/dist/render/ChargingPileManager.d.ts +77 -0
- package/dist/render/ChargingPileManager.d.ts.map +1 -0
- package/dist/render/MowerMapOverlay.d.ts +105 -0
- package/dist/render/MowerMapOverlay.d.ts.map +1 -0
- package/dist/render/MowerMapRenderer.d.ts +11 -0
- package/dist/render/MowerMapRenderer.d.ts.map +1 -0
- package/dist/render/MowerPostionManager.d.ts +91 -0
- package/dist/render/MowerPostionManager.d.ts.map +1 -0
- package/dist/render/SvgMapView.d.ts +196 -0
- package/dist/render/SvgMapView.d.ts.map +1 -0
- package/dist/render/layers/AntennaLayer.d.ts +21 -0
- package/dist/render/layers/AntennaLayer.d.ts.map +1 -0
- package/dist/render/layers/BaseLayer.d.ts +56 -0
- package/dist/render/layers/BaseLayer.d.ts.map +1 -0
- package/dist/render/layers/BoundaryBorderLayer.d.ts +34 -0
- package/dist/render/layers/BoundaryBorderLayer.d.ts.map +1 -0
- package/dist/render/layers/BoundaryLayer.d.ts +21 -0
- package/dist/render/layers/BoundaryLayer.d.ts.map +1 -0
- package/dist/render/layers/ChannelLayer.d.ts +23 -0
- package/dist/render/layers/ChannelLayer.d.ts.map +1 -0
- package/dist/render/layers/ChargingPileLayer.d.ts +21 -0
- package/dist/render/layers/ChargingPileLayer.d.ts.map +1 -0
- package/dist/render/layers/DrawLayer.d.ts +39 -0
- package/dist/render/layers/DrawLayer.d.ts.map +1 -0
- package/dist/render/layers/ObstacleLayer.d.ts +18 -0
- package/dist/render/layers/ObstacleLayer.d.ts.map +1 -0
- package/dist/render/layers/PathLayer.d.ts +24 -0
- package/dist/render/layers/PathLayer.d.ts.map +1 -0
- package/dist/render/layers/PointLayer.d.ts +18 -0
- package/dist/render/layers/PointLayer.d.ts.map +1 -0
- package/dist/render/layers/SvgElementLayer.d.ts +23 -0
- package/dist/render/layers/SvgElementLayer.d.ts.map +1 -0
- package/dist/render/layers/VisionOffLayer.d.ts +17 -0
- package/dist/render/layers/VisionOffLayer.d.ts.map +1 -0
- package/dist/render/layers/index.d.ts +5 -0
- package/dist/render/layers/index.d.ts.map +1 -0
- package/dist/render/layers/types.d.ts +79 -0
- package/dist/render/layers/types.d.ts.map +1 -0
- package/dist/store/useSubBoundaryBorderStore.d.ts +11 -0
- package/dist/store/useSubBoundaryBorderStore.d.ts.map +1 -0
- package/dist/types/antenna.d.ts +15 -0
- package/dist/types/antenna.d.ts.map +1 -0
- package/dist/types/common.d.ts +26 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/edit.d.ts +34 -0
- package/dist/types/edit.d.ts.map +1 -0
- package/dist/types/elements.d.ts +67 -0
- package/dist/types/elements.d.ts.map +1 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/map.d.ts +41 -0
- package/dist/types/map.d.ts.map +1 -0
- package/dist/types/path.d.ts +43 -0
- package/dist/types/path.d.ts.map +1 -0
- package/dist/types/realTime.d.ts +20 -0
- package/dist/types/realTime.d.ts.map +1 -0
- package/dist/types/renderer.d.ts +94 -0
- package/dist/types/renderer.d.ts.map +1 -0
- package/dist/types/ui.d.ts +35 -0
- package/dist/types/ui.d.ts.map +1 -0
- package/dist/utils/boundaryUtils.d.ts +85 -0
- package/dist/utils/boundaryUtils.d.ts.map +1 -0
- package/dist/utils/coordinates.d.ts +23 -0
- package/dist/utils/coordinates.d.ts.map +1 -0
- package/dist/utils/display.d.ts +2 -0
- package/dist/utils/display.d.ts.map +1 -0
- package/dist/utils/formatUtils.d.ts +62 -0
- package/dist/utils/formatUtils.d.ts.map +1 -0
- package/dist/utils/handleRealTime.d.ts +16 -0
- package/dist/utils/handleRealTime.d.ts.map +1 -0
- package/dist/utils/index.d.ts +10 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/mapBounds.d.ts +41 -0
- package/dist/utils/mapBounds.d.ts.map +1 -0
- package/dist/utils/math.d.ts +11 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/mower.d.ts +9 -0
- package/dist/utils/mower.d.ts.map +1 -0
- package/dist/utils/pathSegments.d.ts +21 -0
- package/dist/utils/pathSegments.d.ts.map +1 -0
- package/package.json +85 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DrawElement } from '../render/layers/types';
|
|
2
|
+
import { MapData, AntennaData } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* 地图数据处理器
|
|
5
|
+
* 负责将原始的地图数据转换为可渲染的图层元素
|
|
6
|
+
*/
|
|
7
|
+
export declare class MapDataProcessor {
|
|
8
|
+
/**
|
|
9
|
+
* 处理地图数据,返回绘制图层
|
|
10
|
+
*/
|
|
11
|
+
static processMapData(mapData: MapData): DrawElement[];
|
|
12
|
+
/**
|
|
13
|
+
* 根据元素类型创建分层的地图数据
|
|
14
|
+
* 图层优先级:TIME_LIMIT_OBSTACLE = VISION_OFF_AREA = CHARGING_PILE = OBSTACLE > BOUNDARY > TUNNEL = TUNNEL_TO_CHARGING_PILE
|
|
15
|
+
*/
|
|
16
|
+
private static createLayeredMapData;
|
|
17
|
+
/**
|
|
18
|
+
* 处理地图元素列表
|
|
19
|
+
*/
|
|
20
|
+
private static processMapElements;
|
|
21
|
+
/**
|
|
22
|
+
* 处理天线数据
|
|
23
|
+
*/
|
|
24
|
+
static processAntennaData(antennas: AntennaData[] | undefined, antennaConfig: {
|
|
25
|
+
show?: boolean;
|
|
26
|
+
size?: number;
|
|
27
|
+
antennaOneStatus?: boolean;
|
|
28
|
+
antennaTwoStatus?: boolean;
|
|
29
|
+
}): DrawElement[];
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=MapDataProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapDataProcessor.d.ts","sourceRoot":"","sources":["../../src/processor/MapDataProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,OAAO,EAOP,WAAW,EAEZ,MAAM,UAAU,CAAC;AAkBlB;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE;IA2CtD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAgDnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA6JjC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,QAAQ,EAAE,WAAW,EAAE,GAAG,SAAS,EACnC,aAAa,EAAE;QACb,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,GACA,WAAW,EAAE;CAOjB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { PathData } from '../types/path';
|
|
2
|
+
import { DrawElement } from '../render/layers/types';
|
|
3
|
+
/**
|
|
4
|
+
* 路径数据处理器配置
|
|
5
|
+
*/
|
|
6
|
+
export interface PathConfig {
|
|
7
|
+
lineWidth?: number;
|
|
8
|
+
showEdgePaths?: boolean;
|
|
9
|
+
showTransPaths?: boolean;
|
|
10
|
+
showMowingPaths?: boolean;
|
|
11
|
+
edgePathColor?: string;
|
|
12
|
+
transPathColor?: string;
|
|
13
|
+
mowingPathColor?: string;
|
|
14
|
+
edgePathOpacity?: number;
|
|
15
|
+
transPathOpacity?: number;
|
|
16
|
+
mowingPathOpacity?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 路径数据处理器
|
|
20
|
+
* 负责将原始的路径数据转换为可渲染的图层元素
|
|
21
|
+
*/
|
|
22
|
+
export declare class PathDataProcessor {
|
|
23
|
+
/**
|
|
24
|
+
* 处理路径数据,创建路径绘制图层
|
|
25
|
+
*/
|
|
26
|
+
static processPathData(pathData: PathData | any, pathConfig?: PathConfig): DrawElement[];
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=PathDataProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PathDataProcessor.d.ts","sourceRoot":"","sources":["../../src/processor/PathDataProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,WAAW,EAAE;CA+EzF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DrawElement, AntennaStyle, AntennaMetadata } from '../../render/layers/types';
|
|
2
|
+
import { AntennaData } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* 天线数据构建器
|
|
5
|
+
*/
|
|
6
|
+
export declare class AntennaDataBuilder {
|
|
7
|
+
/**
|
|
8
|
+
* 创建天线元素数据
|
|
9
|
+
*/
|
|
10
|
+
static create(coordinate: number[], style: AntennaStyle, metadata: AntennaMetadata): DrawElement;
|
|
11
|
+
/**
|
|
12
|
+
* 从天线数据创建天线绘制元素,实现天线显示逻辑
|
|
13
|
+
* 1. 如果副天线位置数据的相对坐标都是0,则需要展示在主天线旁边
|
|
14
|
+
* 2. 否则,副天线有自己的独立位置
|
|
15
|
+
*/
|
|
16
|
+
static fromAntennaData(antennas: AntennaData[]): DrawElement[];
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=AntennaDataBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AntennaDataBuilder.d.ts","sourceRoot":"","sources":["../../../src/processor/builder/AntennaDataBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C;;GAEG;AACH,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,eAAe,GACxB,WAAW;IASd;;;;OAIG;IACH,MAAM,CAAC,eAAe,CACpB,QAAQ,EAAE,WAAW,EAAE,GACtB,WAAW,EAAE;CAqDjB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DrawElement, BoundaryStyle } from '../../render/layers/types';
|
|
2
|
+
import { MapElement } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* 边界数据构建器
|
|
5
|
+
*/
|
|
6
|
+
export declare class BoundaryDataBuilder {
|
|
7
|
+
/**
|
|
8
|
+
* 创建边界元素数据
|
|
9
|
+
*/
|
|
10
|
+
static create(type: 'boundary' | 'boundary_border', coordinates: number[][], style: BoundaryStyle): DrawElement;
|
|
11
|
+
/**
|
|
12
|
+
* 从地图元素创建边界数据
|
|
13
|
+
*/
|
|
14
|
+
static fromMapElement(element: MapElement): DrawElement | null;
|
|
15
|
+
static createBoundaryBorder(element: MapElement): DrawElement | null;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=BoundaryDataBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoundaryDataBuilder.d.ts","sourceRoot":"","sources":["../../../src/processor/builder/BoundaryDataBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,UAAU,GAAG,iBAAiB,EACpC,WAAW,EAAE,MAAM,EAAE,EAAE,EACvB,KAAK,EAAE,aAAa,GACnB,WAAW;IAQd;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IAS9D,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;CAYrE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { DrawElement, PathStyle } from '../../render/layers/types';
|
|
2
|
+
import { MapElement } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* 路径数据构建器
|
|
5
|
+
*/
|
|
6
|
+
export declare class ChannelDataBuilder {
|
|
7
|
+
/**
|
|
8
|
+
* 创建路径元素数据
|
|
9
|
+
*/
|
|
10
|
+
static create(coordinates: number[][], style: PathStyle): DrawElement;
|
|
11
|
+
/**
|
|
12
|
+
* 创建隧道元素数据
|
|
13
|
+
*/
|
|
14
|
+
static createTunnel(element: MapElement): DrawElement | null;
|
|
15
|
+
/**
|
|
16
|
+
* 创建充电桩隧道元素数据
|
|
17
|
+
*/
|
|
18
|
+
static createTunnelToChargingPile(element: MapElement): DrawElement | null;
|
|
19
|
+
/**
|
|
20
|
+
* 创建充电桩内部隧道路径(用于CHARGING_PILE元素中的tunnel.points)
|
|
21
|
+
*/
|
|
22
|
+
static createChargingPileTunnelPath(element: MapElement): DrawElement | null;
|
|
23
|
+
/**
|
|
24
|
+
* 创建边缘路径
|
|
25
|
+
*/
|
|
26
|
+
static createEdgePath(points: number[][], config?: {
|
|
27
|
+
lineWidth?: number;
|
|
28
|
+
color?: string;
|
|
29
|
+
opacity?: number;
|
|
30
|
+
}): DrawElement;
|
|
31
|
+
/**
|
|
32
|
+
* 创建割草路径
|
|
33
|
+
*/
|
|
34
|
+
static createMowingPath(points: number[][], config?: {
|
|
35
|
+
lineWidth?: number;
|
|
36
|
+
color?: string;
|
|
37
|
+
opacity?: number;
|
|
38
|
+
}): DrawElement;
|
|
39
|
+
/**
|
|
40
|
+
* 创建传输路径
|
|
41
|
+
*/
|
|
42
|
+
static createTransPath(points: number[][], config?: {
|
|
43
|
+
lineWidth?: number;
|
|
44
|
+
color?: string;
|
|
45
|
+
opacity?: number;
|
|
46
|
+
}): DrawElement;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=ChannelDataBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChannelDataBuilder.d.ts","sourceRoot":"","sources":["../../../src/processor/builder/ChannelDataBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC;;GAEG;AACH,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,WAAW;IAQrE;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IAS5D;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IAa1E;;OAEG;IACH,MAAM,CAAC,4BAA4B,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IAwB5E;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,WAAW;IAQd;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,WAAW;IAQd;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,WAAW;CAQf"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DrawElement, ChargingPileStyle } from '../../render/layers/types';
|
|
2
|
+
import { MapElement } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* 充电桩数据构建器
|
|
5
|
+
*/
|
|
6
|
+
export declare class ChargingPileDataBuilder {
|
|
7
|
+
/**
|
|
8
|
+
* 创建充电桩元素数据
|
|
9
|
+
*/
|
|
10
|
+
static create(coordinate: number[], style: ChargingPileStyle): DrawElement;
|
|
11
|
+
/**
|
|
12
|
+
* 从地图元素创建充电桩数据
|
|
13
|
+
*/
|
|
14
|
+
static fromMapElement(element: MapElement): DrawElement[];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=ChargingPileDataBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChargingPileDataBuilder.d.ts","sourceRoot":"","sources":["../../../src/processor/builder/ChargingPileDataBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC;;GAEG;AACH,qBAAa,uBAAuB;IAClC;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,WAAW;IAQ1E;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,EAAE;CAa1D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DrawElement, ObstacleStyle } from '../../render/layers/types';
|
|
2
|
+
import { MapElement } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* 障碍物数据构建器
|
|
5
|
+
*/
|
|
6
|
+
export declare class ObstacleDataBuilder {
|
|
7
|
+
/**
|
|
8
|
+
* 创建障碍物元素数据
|
|
9
|
+
*/
|
|
10
|
+
static create(coordinates: number[][], style: ObstacleStyle): DrawElement;
|
|
11
|
+
/**
|
|
12
|
+
* 从地图元素创建障碍物数据
|
|
13
|
+
*/
|
|
14
|
+
static fromMapElement(element: MapElement): DrawElement | null;
|
|
15
|
+
/**
|
|
16
|
+
* 创建时间限制障碍物多边形数据
|
|
17
|
+
*/
|
|
18
|
+
static createTimeLimitObstacle(element: MapElement): DrawElement | null;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ObstacleDataBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObstacleDataBuilder.d.ts","sourceRoot":"","sources":["../../../src/processor/builder/ObstacleDataBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,GAAG,WAAW;IAQzE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IAS9D;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;CAaxE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DrawElement, PathStyle } from '../../render/layers/types';
|
|
2
|
+
/**
|
|
3
|
+
* 路径数据构建器
|
|
4
|
+
*/
|
|
5
|
+
export declare class PathDataBuilder {
|
|
6
|
+
/**
|
|
7
|
+
* 创建路径元素数据
|
|
8
|
+
*/
|
|
9
|
+
static create(coordinates: number[][], style: PathStyle): DrawElement;
|
|
10
|
+
/**
|
|
11
|
+
* 创建边缘路径
|
|
12
|
+
*/
|
|
13
|
+
static createEdgePath(points: number[][], config?: {
|
|
14
|
+
lineWidth?: number;
|
|
15
|
+
color?: string;
|
|
16
|
+
opacity?: number;
|
|
17
|
+
}): DrawElement;
|
|
18
|
+
/**
|
|
19
|
+
* 创建割草路径
|
|
20
|
+
*/
|
|
21
|
+
static createMowingPath(points: number[][], config?: {
|
|
22
|
+
lineWidth?: number;
|
|
23
|
+
color?: string;
|
|
24
|
+
opacity?: number;
|
|
25
|
+
}): DrawElement;
|
|
26
|
+
/**
|
|
27
|
+
* 创建传输路径
|
|
28
|
+
*/
|
|
29
|
+
static createTransPath(points: number[][], config?: {
|
|
30
|
+
lineWidth?: number;
|
|
31
|
+
color?: string;
|
|
32
|
+
opacity?: number;
|
|
33
|
+
}): DrawElement;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=PathDataBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PathDataBuilder.d.ts","sourceRoot":"","sources":["../../../src/processor/builder/PathDataBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAKnE;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,WAAW;IAgDrE;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,WAAW;IAUd;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,WAAW;IAUd;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,WAAW;CAUf"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DrawElement, PathStyle } from '../../render/layers/types';
|
|
2
|
+
/**
|
|
3
|
+
* 点数据构建器
|
|
4
|
+
*/
|
|
5
|
+
export declare class PointDataBuilder {
|
|
6
|
+
/**
|
|
7
|
+
* 创建点元素数据
|
|
8
|
+
*/
|
|
9
|
+
static create(coordinate: number[], style: PathStyle): DrawElement;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=PointDataBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PointDataBuilder.d.ts","sourceRoot":"","sources":["../../../src/processor/builder/PointDataBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,EAAE,SAAS,GACf,WAAW;CAOf"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DrawElement, SvgElementStyle, SvgElementMetadata } from '../../render/layers/types';
|
|
2
|
+
import { MapElement } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* SVG元素数据构建器
|
|
5
|
+
*/
|
|
6
|
+
export declare class SvgElementDataBuilder {
|
|
7
|
+
/**
|
|
8
|
+
* 创建SVG元素数据
|
|
9
|
+
*/
|
|
10
|
+
static create(center: number[], metadata: SvgElementMetadata, style: SvgElementStyle): DrawElement;
|
|
11
|
+
/**
|
|
12
|
+
* 从地图元素创建SVG数据(用于时间限制障碍物)
|
|
13
|
+
*/
|
|
14
|
+
static fromMapElement(element: MapElement): DrawElement | null;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=SvgElementDataBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SvgElementDataBuilder.d.ts","sourceRoot":"","sources":["../../../src/processor/builder/SvgElementDataBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC;;GAEG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,eAAe,GACrB,WAAW;IASd;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;CAyB/D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DrawElement, BoundaryStyle } from '../../render/layers/types';
|
|
2
|
+
import { MapElement } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* 边界数据构建器
|
|
5
|
+
*/
|
|
6
|
+
export declare class VisionOffDataBuilder {
|
|
7
|
+
/**
|
|
8
|
+
* 创建边界元素数据
|
|
9
|
+
*/
|
|
10
|
+
static create(coordinates: number[][], style: BoundaryStyle): DrawElement;
|
|
11
|
+
/**
|
|
12
|
+
* 从地图元素创建边界数据
|
|
13
|
+
*/
|
|
14
|
+
static fromMapElement(element: MapElement): DrawElement | null;
|
|
15
|
+
/**
|
|
16
|
+
* 创建视觉盲区元素数据(使用边界样式)
|
|
17
|
+
*/
|
|
18
|
+
static createVisionOffArea(element: MapElement): DrawElement | null;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=VisionOffDataBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisionOffDataBuilder.d.ts","sourceRoot":"","sources":["../../../src/processor/builder/VisionOffDataBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC;;GAEG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,GAAG,WAAW;IAQzE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IAS9D;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;CAQpE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { BoundaryDataBuilder } from './BoundaryDataBuilder';
|
|
2
|
+
export { ChannelDataBuilder } from './ChannelDataBuilder';
|
|
3
|
+
export { ChargingPileDataBuilder } from './ChargingPileDataBuilder';
|
|
4
|
+
export { ObstacleDataBuilder } from './ObstacleDataBuilder';
|
|
5
|
+
export { PathDataBuilder } from './PathDataBuilder';
|
|
6
|
+
export { PointDataBuilder } from './PointDataBuilder';
|
|
7
|
+
export { SvgElementDataBuilder } from './SvgElementDataBuilder';
|
|
8
|
+
export { VisionOffDataBuilder } from './VisionOffDataBuilder';
|
|
9
|
+
export { AntennaDataBuilder } from './AntennaDataBuilder';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/processor/builder/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/processor/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { SvgMapView } from './SvgMapView';
|
|
2
|
+
import { DrawElement } from './layers/types';
|
|
3
|
+
import { AntennaData } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* 天线管理器
|
|
6
|
+
* 专门处理天线元素的创建、定位和管理
|
|
7
|
+
*/
|
|
8
|
+
export declare class AntennaManager {
|
|
9
|
+
private svgView;
|
|
10
|
+
private antennaElements;
|
|
11
|
+
private container;
|
|
12
|
+
private overlayDiv;
|
|
13
|
+
private antennaElementsMap;
|
|
14
|
+
private mainAntennaData;
|
|
15
|
+
private singleAntennaData;
|
|
16
|
+
private globalClickHandler;
|
|
17
|
+
private antennaTooltipFlag;
|
|
18
|
+
private singleAntennaTooltipFlag;
|
|
19
|
+
private static readonly Z_INDEX;
|
|
20
|
+
constructor(svgView: SvgMapView);
|
|
21
|
+
/**
|
|
22
|
+
* 初始化容器
|
|
23
|
+
*/
|
|
24
|
+
private initializeContainer;
|
|
25
|
+
/**
|
|
26
|
+
* 设置全局点击监听器
|
|
27
|
+
*/
|
|
28
|
+
private setupGlobalClickHandler;
|
|
29
|
+
/**
|
|
30
|
+
* 提升天线层级到最高
|
|
31
|
+
*/
|
|
32
|
+
private elevateAntennaZIndex;
|
|
33
|
+
/**
|
|
34
|
+
* 重置天线层级
|
|
35
|
+
*/
|
|
36
|
+
private resetAntennaZIndex;
|
|
37
|
+
/**
|
|
38
|
+
* 设置叠加层div引用(用于坐标转换)
|
|
39
|
+
*/
|
|
40
|
+
setOverlayDiv(overlayDiv: HTMLElement): void;
|
|
41
|
+
/**
|
|
42
|
+
* 创建天线对应的dom元素
|
|
43
|
+
*/
|
|
44
|
+
createAntennaElement(antennaData: AntennaData): HTMLDivElement;
|
|
45
|
+
/**
|
|
46
|
+
* 创建天线tooltip
|
|
47
|
+
*/
|
|
48
|
+
private createTooltip;
|
|
49
|
+
/**
|
|
50
|
+
* 展开tooltip
|
|
51
|
+
*/
|
|
52
|
+
private expandTooltip;
|
|
53
|
+
/**
|
|
54
|
+
* 关闭其他展开的tooltip
|
|
55
|
+
*/
|
|
56
|
+
private collapseOtherTooltips;
|
|
57
|
+
/**
|
|
58
|
+
* 关闭所有展开的tooltip
|
|
59
|
+
*/
|
|
60
|
+
private collapseAllTooltips;
|
|
61
|
+
/**
|
|
62
|
+
* 添加主天线
|
|
63
|
+
*/
|
|
64
|
+
addMainAntennaElement(antennaData: AntennaData): HTMLDivElement;
|
|
65
|
+
addSingleAntennaElement(antennaData: AntennaData): HTMLDivElement;
|
|
66
|
+
/**
|
|
67
|
+
* 添加所有天线元素
|
|
68
|
+
*/
|
|
69
|
+
addAllElements(elements: DrawElement[]): void;
|
|
70
|
+
/**
|
|
71
|
+
* 更新天线位置
|
|
72
|
+
*/
|
|
73
|
+
updateAntennaPosition(): void;
|
|
74
|
+
/**
|
|
75
|
+
* 获取容器元素
|
|
76
|
+
*/
|
|
77
|
+
getElement(): HTMLElement | null;
|
|
78
|
+
/**
|
|
79
|
+
* 坐标转换:地图坐标转换为叠加层像素坐标
|
|
80
|
+
*/
|
|
81
|
+
private convertMapCoordinateToOverlayPixel;
|
|
82
|
+
/**
|
|
83
|
+
* 更新天线状态
|
|
84
|
+
*/
|
|
85
|
+
updateAntennaStatus(antennaId: number, online: boolean): void;
|
|
86
|
+
/**
|
|
87
|
+
* 清空所有天线
|
|
88
|
+
*/
|
|
89
|
+
clear(): void;
|
|
90
|
+
/**
|
|
91
|
+
* 设置可见性
|
|
92
|
+
*/
|
|
93
|
+
setVisible(visible: boolean): void;
|
|
94
|
+
/**
|
|
95
|
+
* 获取天线数量
|
|
96
|
+
*/
|
|
97
|
+
getElementCount(): number;
|
|
98
|
+
/**
|
|
99
|
+
* 重置天线层级(公共方法)
|
|
100
|
+
*/
|
|
101
|
+
resetZIndex(): void;
|
|
102
|
+
/**
|
|
103
|
+
* 获取层级常量(静态方法)
|
|
104
|
+
*/
|
|
105
|
+
static getZIndexConstants(): {
|
|
106
|
+
DEFAULT: number;
|
|
107
|
+
ACTIVE: number;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* 调试方法:检查当前所有天线的层级
|
|
111
|
+
*/
|
|
112
|
+
debugCheckZIndex(): void;
|
|
113
|
+
/**
|
|
114
|
+
* 销毁管理器
|
|
115
|
+
*/
|
|
116
|
+
destroy(): void;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=AntennaManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AntennaManager.d.ts","sourceRoot":"","sources":["../../src/render/AntennaManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,kBAAkB,CAAuC;IACjE,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,kBAAkB,CAAmC;IAE7D,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,wBAAwB,CAAkB;IAGlD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAG7B;gBAEU,OAAO,EAAE,UAAU;IAM/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW;IAIrC;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,WAAW;IAiF7C;;OAEG;IACH,OAAO,CAAC,aAAa;IAyCrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,qBAAqB,CAAC,WAAW,EAAE,WAAW;IAoB9C,uBAAuB,CAAC,WAAW,EAAE,WAAW;IA4ChD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE;IActC;;OAEG;IACH,qBAAqB;IAMrB;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAoC1C;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IA2DtD;;OAEG;IACH,KAAK;IAQL;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAM3B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,WAAW;IAIX;;OAEG;IACH,MAAM,CAAC,kBAAkB;;;;IAIzB;;OAEG;IACH,gBAAgB;IAOhB;;OAEG;IACH,OAAO;CAcR"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { SvgMapView } from './SvgMapView';
|
|
2
|
+
import { BoundaryData } from '../utils';
|
|
3
|
+
/**
|
|
4
|
+
* 边界标签管理器
|
|
5
|
+
* 专门处理边界标签的创建、定位和管理
|
|
6
|
+
*/
|
|
7
|
+
export declare class BoundaryLabelsManager {
|
|
8
|
+
private svgView;
|
|
9
|
+
private boundaryData;
|
|
10
|
+
private container;
|
|
11
|
+
private overlayDiv;
|
|
12
|
+
private globalClickHandler;
|
|
13
|
+
private static readonly Z_INDEX;
|
|
14
|
+
constructor(svgView: SvgMapView, boundaryData: BoundaryData[]);
|
|
15
|
+
/**
|
|
16
|
+
* 初始化容器
|
|
17
|
+
*/
|
|
18
|
+
private initializeContainer;
|
|
19
|
+
/**
|
|
20
|
+
* 设置全局点击监听器
|
|
21
|
+
*/
|
|
22
|
+
private setupGlobalClickHandler;
|
|
23
|
+
/**
|
|
24
|
+
* 提升边界标签层级到最高
|
|
25
|
+
*/
|
|
26
|
+
private elevateLabelZIndex;
|
|
27
|
+
/**
|
|
28
|
+
* 重置所有边界标签层级
|
|
29
|
+
*/
|
|
30
|
+
private resetLabelZIndex;
|
|
31
|
+
/**
|
|
32
|
+
* 设置叠加层div引用(用于坐标转换)
|
|
33
|
+
*/
|
|
34
|
+
setOverlayDiv(overlayDiv: HTMLElement): void;
|
|
35
|
+
/**
|
|
36
|
+
* 添加单个边界标签元素
|
|
37
|
+
*/
|
|
38
|
+
addElement(boundary: BoundaryData): HTMLElement | null;
|
|
39
|
+
/**
|
|
40
|
+
* 创建孤立子区域图标
|
|
41
|
+
*/
|
|
42
|
+
private createIsolatedIcon;
|
|
43
|
+
/**
|
|
44
|
+
* 展开标签
|
|
45
|
+
*/
|
|
46
|
+
private expandLabel;
|
|
47
|
+
/**
|
|
48
|
+
* 关闭其他展开的标签
|
|
49
|
+
*/
|
|
50
|
+
private collapseOtherLabels;
|
|
51
|
+
/**
|
|
52
|
+
* 添加所有边界标签元素
|
|
53
|
+
*/
|
|
54
|
+
addAllElements(): void;
|
|
55
|
+
/**
|
|
56
|
+
* 获取容器元素
|
|
57
|
+
*/
|
|
58
|
+
getElement(): HTMLElement | null;
|
|
59
|
+
/**
|
|
60
|
+
* 更新所有边界标签位置
|
|
61
|
+
*/
|
|
62
|
+
updatePositions(): void;
|
|
63
|
+
/**
|
|
64
|
+
* 使用预计算的数据更新边界标签位置(优化版本)
|
|
65
|
+
* @param divWidth 叠加层div的宽度
|
|
66
|
+
* @param divHeight 叠加层div的高度
|
|
67
|
+
* @param viewBox SVG的viewBox信息
|
|
68
|
+
*/
|
|
69
|
+
updatePositionsWithPrecomputedData(divWidth: number, divHeight: number, viewBox: {
|
|
70
|
+
x: number;
|
|
71
|
+
y: number;
|
|
72
|
+
width: number;
|
|
73
|
+
height: number;
|
|
74
|
+
}): void;
|
|
75
|
+
/**
|
|
76
|
+
* 计算边界中心点
|
|
77
|
+
*/
|
|
78
|
+
private calculateBoundaryCenter;
|
|
79
|
+
/**
|
|
80
|
+
* 计算多边形重心(地图坐标)
|
|
81
|
+
* 使用面积加权的重心算法
|
|
82
|
+
*/
|
|
83
|
+
private calculatePolygonCentroid;
|
|
84
|
+
/**
|
|
85
|
+
* 计算多边形重心的具体实现
|
|
86
|
+
* 使用面积加权的重心公式
|
|
87
|
+
*/
|
|
88
|
+
private computePolygonCentroid;
|
|
89
|
+
/**
|
|
90
|
+
* 回退方法:计算点的平均位置
|
|
91
|
+
*/
|
|
92
|
+
private calculateAverageCenter;
|
|
93
|
+
/**
|
|
94
|
+
* 将地图坐标转换为叠加层像素坐标
|
|
95
|
+
*/
|
|
96
|
+
private convertMapCoordinateToOverlayPixel;
|
|
97
|
+
/**
|
|
98
|
+
* 使用预计算数据将地图坐标转换为叠加层像素坐标(优化版本)
|
|
99
|
+
*/
|
|
100
|
+
private convertMapCoordinateToPixelWithPrecomputedData;
|
|
101
|
+
/**
|
|
102
|
+
* 更新边界数据
|
|
103
|
+
*/
|
|
104
|
+
updateBoundaryData(boundaryData: BoundaryData[]): void;
|
|
105
|
+
/**
|
|
106
|
+
* 销毁管理器
|
|
107
|
+
*/
|
|
108
|
+
destroy(): void;
|
|
109
|
+
/**
|
|
110
|
+
* 显示/隐藏标签
|
|
111
|
+
*/
|
|
112
|
+
setVisible(visible: boolean): void;
|
|
113
|
+
/**
|
|
114
|
+
* 获取边界数据
|
|
115
|
+
*/
|
|
116
|
+
getBoundaryData(): BoundaryData[];
|
|
117
|
+
/**
|
|
118
|
+
* 根据ID获取特定边界的标签元素
|
|
119
|
+
*/
|
|
120
|
+
getLabelElement(boundaryId: number): HTMLElement | null;
|
|
121
|
+
/**
|
|
122
|
+
* 关闭所有展开的标签
|
|
123
|
+
*/
|
|
124
|
+
collapseAllLabels(): void;
|
|
125
|
+
/**
|
|
126
|
+
* 设置标签的交互状态
|
|
127
|
+
*/
|
|
128
|
+
setInteractive(interactive: boolean): void;
|
|
129
|
+
/**
|
|
130
|
+
* 重置标签层级(公共方法)
|
|
131
|
+
*/
|
|
132
|
+
resetZIndex(): void;
|
|
133
|
+
/**
|
|
134
|
+
* 获取层级常量(静态方法)
|
|
135
|
+
*/
|
|
136
|
+
static getZIndexConstants(): {
|
|
137
|
+
DEFAULT: number;
|
|
138
|
+
ACTIVE: number;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* 调试方法:检查当前所有边界标签的层级
|
|
142
|
+
*/
|
|
143
|
+
debugCheckZIndex(): void;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=BoundaryLabelsManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoundaryLabelsManager.d.ts","sourceRoot":"","sources":["../../src/render/BoundaryLabelsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAyB,MAAM,UAAU,CAAC;AAE/D;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,kBAAkB,CAAmC;IAG7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAG7B;gBAEU,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE;IAM7D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW;IAMrC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI;IAuGtD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAYnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,cAAc;IAMd;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;OAEG;IACH,eAAe;IAsBf;;;;;OAKG;IACH,kCAAkC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAkCxI;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAUhC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA+C9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAyB1C;;OAEG;IACH,OAAO,CAAC,8CAA8C;IAkBtD;;OAEG;IACH,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE;IAY/C;;OAEG;IACH,OAAO;IAcP;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAM3B;;OAEG;IACH,eAAe,IAAI,YAAY,EAAE;IAIjC;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAKvD;;OAEG;IACH,iBAAiB;IAajB;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,OAAO;IAsBnC;;OAEG;IACH,WAAW;IAIX;;OAEG;IACH,MAAM,CAAC,kBAAkB;;;;IAIzB;;OAEG;IACH,gBAAgB;CAWjB"}
|