vis-core 0.30.0-beta.33 → 0.30.0-beta.35

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/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: "0.30.0-beta.33";
1
+ declare const _default: "0.30.0-beta.35";
2
2
  export default _default;
@@ -2,3 +2,4 @@ export { default as Base } from './base';
2
2
  export { default as City } from './city';
3
3
  export { default as Earth } from './earth';
4
4
  export { default as Map } from './map';
5
+ export * from './map/MapManager';
@@ -0,0 +1,142 @@
1
+ import Map from './';
2
+ export interface FixConfig {
3
+ [key: `level:${string}`]: {
4
+ s: string[];
5
+ z: string[];
6
+ };
7
+ }
8
+ export interface MapManagerConfig {
9
+ container: HTMLDivElement;
10
+ controlsContainer?: HTMLDivElement;
11
+ assetsPrefix?: string;
12
+ fixConfig?: FixConfig;
13
+ }
14
+ export interface MapEventHandlers {
15
+ onAreaHover?: (areaName: string, screenPos: {
16
+ x: number;
17
+ y: number;
18
+ }) => void;
19
+ onAreaLeave?: () => void;
20
+ onAreaClick?: (areaName: string, adcode: number) => void;
21
+ onUnitHover?: (unitName: string, screenPos: {
22
+ x: number;
23
+ y: number;
24
+ }) => void;
25
+ onUnitLeave?: () => void;
26
+ onZoomChange?: (zoom: number) => void;
27
+ }
28
+ /**
29
+ * MapManager - 地图管理类
30
+ */
31
+ export declare class MapManager {
32
+ private container;
33
+ private controlsContainer?;
34
+ private assetsPrefix?;
35
+ private fixConfig?;
36
+ private readonly MAX_ZOOM_FACTOR;
37
+ private readonly MIN_ZOOM_FACTOR;
38
+ private mapInstances;
39
+ private mapDistances;
40
+ private mapConfigs;
41
+ private currentMap;
42
+ private currentZoom;
43
+ private groups;
44
+ private eventHandlers;
45
+ private areaCloseTimer;
46
+ private unitCloseTimer;
47
+ static findNameInfo: (name: string) => {
48
+ adcode: number;
49
+ lng: number;
50
+ lat: number;
51
+ name: string;
52
+ level: string;
53
+ parent: number;
54
+ c: number[];
55
+ b: number[];
56
+ } | undefined;
57
+ static getAdcodeShowLevel: (adcode: number, fix?: boolean) => string | undefined;
58
+ static findAdcodeInfo: (adcode: number) => {
59
+ adcode: number;
60
+ lng: number;
61
+ lat: number;
62
+ name: string;
63
+ level: string;
64
+ parent: number;
65
+ c: number[];
66
+ b: number[];
67
+ } | undefined;
68
+ constructor(config: MapManagerConfig);
69
+ /**
70
+ * 设置事件处理器
71
+ */
72
+ setEventHandlers(handlers: MapEventHandlers): void;
73
+ /**
74
+ * 获取当前地图实例
75
+ */
76
+ getCurrentMap(): Map | null;
77
+ /**
78
+ * 获取当前缩放级别
79
+ */
80
+ getCurrentZoom(): number;
81
+ /**
82
+ * 初始化地图
83
+ */
84
+ initMap(adcodeArr: number[], fixedAdcode?: boolean): Promise<Map | null>;
85
+ /**
86
+ * 创建地图实例
87
+ */
88
+ private createMapInstance;
89
+ /**
90
+ * 应用地图修复配置
91
+ */
92
+ private applyFixConfig;
93
+ /**
94
+ * 绑定区域交互事件
95
+ */
96
+ private bindAreaEvents;
97
+ /**
98
+ * 设置缩放级别
99
+ */
100
+ setZoom(zoom: number): void;
101
+ /**
102
+ * 创建分组
103
+ * @param groupId 分组ID,用于后续管理
104
+ * @returns 分组实例
105
+ */
106
+ createGroup(groupId: string): Promise<Awaited<ReturnType<Map['addGroup']>> | null>;
107
+ /**
108
+ * 获取分组
109
+ */
110
+ getGroup(groupId: string): Awaited<ReturnType<Map['addGroup']>> | undefined;
111
+ /**
112
+ * 清除指定分组
113
+ */
114
+ clearGroup(groupId: string): void;
115
+ /**
116
+ * 清除所有分组
117
+ */
118
+ clearAllGroups(): void;
119
+ /**
120
+ * 触发单位 hover 事件(供外部调用)
121
+ */
122
+ triggerUnitHover(unitName: string, screenPos: {
123
+ x: number;
124
+ y: number;
125
+ }): void;
126
+ /**
127
+ * 触发单位 leave 事件(供外部调用)
128
+ */
129
+ triggerUnitLeave(): void;
130
+ /**
131
+ * 清除区域关闭定时器(供 PortalModal 调用)
132
+ */
133
+ clearAreaCloseTimer(): void;
134
+ /**
135
+ * 清除单位关闭定时器(供 PortalModal 调用)
136
+ */
137
+ clearUnitCloseTimer(): void;
138
+ /**
139
+ * 销毁所有地图实例
140
+ */
141
+ dispose(): void;
142
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vis-core",
3
- "version": "0.30.0-beta.33",
3
+ "version": "0.30.0-beta.35",
4
4
  "scripts": {
5
5
  "start": "npm run version && PORT=5173 bundler-dev",
6
6
  "build:site": "npm run version && PUBLIC_EXCLUDE=true bundler",
@@ -64,7 +64,7 @@
64
64
  "esus-lite": "^0.2.8",
65
65
  "events": "^3.3.0",
66
66
  "geojson-cn": "^0.2.5",
67
- "gl-draw": "0.17.0-beta.21",
67
+ "gl-draw": "0.17.0-beta.22",
68
68
  "jsrsasign": "^11.1.0",
69
69
  "lodash-es": "^4.17.21"
70
70
  },