@wenle_2523097/agri-map 1.0.2 → 1.0.3
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/components/ConfigProvider/index.d.ts +15 -0
- package/dist/components/ConfigProvider/index.d.ts.map +1 -0
- package/dist/components/DualScaleControl/index.d.ts +10 -0
- package/dist/components/DualScaleControl/index.d.ts.map +1 -0
- package/dist/components/Icons/SelectIcon.d.ts +68 -0
- package/dist/components/Icons/SelectIcon.d.ts.map +1 -0
- package/dist/components/Icons/index.d.ts +43 -0
- package/dist/components/Icons/index.d.ts.map +1 -0
- package/dist/components/Irrigation/index.d.ts +8 -0
- package/dist/components/Irrigation/index.d.ts.map +1 -0
- package/dist/components/Irrigation/toolbar.d.ts +6 -0
- package/dist/components/Irrigation/toolbar.d.ts.map +1 -0
- package/dist/components/Loading/index.d.ts +40 -0
- package/dist/components/Loading/index.d.ts.map +1 -0
- package/dist/components/MapContent/index.d.ts +17 -0
- package/dist/components/MapContent/index.d.ts.map +1 -0
- package/dist/components/MapSizeHandler/index.d.ts +24 -0
- package/dist/components/MapSizeHandler/index.d.ts.map +1 -0
- package/dist/components/Marker/ClusterView.d.ts +29 -0
- package/dist/components/Marker/ClusterView.d.ts.map +1 -0
- package/dist/components/Marker/MapClickHandler.d.ts +25 -0
- package/dist/components/Marker/MapClickHandler.d.ts.map +1 -0
- package/dist/components/Marker/index.d.ts +61 -0
- package/dist/components/Marker/index.d.ts.map +1 -0
- package/dist/components/Marker/parseClusterConfig.d.ts +25 -0
- package/dist/components/Marker/parseClusterConfig.d.ts.map +1 -0
- package/dist/components/Marker/toolbar.d.ts +6 -0
- package/dist/components/Marker/toolbar.d.ts.map +1 -0
- package/dist/components/Marker/useEditHandlers.d.ts +44 -0
- package/dist/components/Marker/useEditHandlers.d.ts.map +1 -0
- package/dist/components/Marker/useIconConfig.d.ts +23 -0
- package/dist/components/Marker/useIconConfig.d.ts.map +1 -0
- package/dist/components/Marker/useMarkerCommands.d.ts +30 -0
- package/dist/components/Marker/useMarkerCommands.d.ts.map +1 -0
- package/dist/components/Measurement/toolbar.d.ts +20 -0
- package/dist/components/Measurement/toolbar.d.ts.map +1 -0
- package/dist/components/MiniMap/index.d.ts +16 -0
- package/dist/components/MiniMap/index.d.ts.map +1 -0
- package/dist/components/Notification/index.d.ts +12 -0
- package/dist/components/Notification/index.d.ts.map +1 -0
- package/dist/components/PlotGroupLayer/index.d.ts +8 -0
- package/dist/components/PlotGroupLayer/index.d.ts.map +1 -0
- package/dist/components/PlotLayer/index.d.ts +7 -0
- package/dist/components/PlotLayer/index.d.ts.map +1 -0
- package/dist/components/PlotLayer/label.d.ts +12 -0
- package/dist/components/PlotLayer/label.d.ts.map +1 -0
- package/dist/components/PlotLayer/leaflet-types.d.ts +59 -0
- package/dist/components/PlotLayer/leaflet-types.d.ts.map +1 -0
- package/dist/components/PlotLayer/parseConfig.d.ts +15 -0
- package/dist/components/PlotLayer/parseConfig.d.ts.map +1 -0
- package/dist/components/PlotLayer/toolbar.d.ts +6 -0
- package/dist/components/PlotLayer/toolbar.d.ts.map +1 -0
- package/dist/components/PlotLayer/types.d.ts +10 -0
- package/dist/components/PlotLayer/types.d.ts.map +1 -0
- package/dist/components/PlotLayer/usePlotCommands.d.ts +33 -0
- package/dist/components/PlotLayer/usePlotCommands.d.ts.map +1 -0
- package/dist/components/PlotLayer/usePlotData.d.ts +32 -0
- package/dist/components/PlotLayer/usePlotData.d.ts.map +1 -0
- package/dist/components/PlotLayer/usePlotEditMode.d.ts +92 -0
- package/dist/components/PlotLayer/usePlotEditMode.d.ts.map +1 -0
- package/dist/components/Road/index.d.ts +8 -0
- package/dist/components/Road/index.d.ts.map +1 -0
- package/dist/components/Road/toolbar.d.ts +6 -0
- package/dist/components/Road/toolbar.d.ts.map +1 -0
- package/dist/components/TianDiTuLayer/index.d.ts +15 -0
- package/dist/components/TianDiTuLayer/index.d.ts.map +1 -0
- package/dist/components/Track/ClusterView.d.ts +20 -0
- package/dist/components/Track/ClusterView.d.ts.map +1 -0
- package/dist/components/Track/TrackView.d.ts +24 -0
- package/dist/components/Track/TrackView.d.ts.map +1 -0
- package/dist/components/Track/commands.d.ts +53 -0
- package/dist/components/Track/commands.d.ts.map +1 -0
- package/dist/components/Track/constants.d.ts +34 -0
- package/dist/components/Track/constants.d.ts.map +1 -0
- package/dist/components/Track/index.d.ts +54 -0
- package/dist/components/Track/index.d.ts.map +1 -0
- package/dist/components/Track/parseConfig.d.ts +40 -0
- package/dist/components/Track/parseConfig.d.ts.map +1 -0
- package/dist/components/Track/types.d.ts +38 -0
- package/dist/components/Track/types.d.ts.map +1 -0
- package/dist/components/Track/useMarkerIcon.d.ts +14 -0
- package/dist/components/Track/useMarkerIcon.d.ts.map +1 -0
- package/dist/components/Track/useTrackCommands.d.ts +56 -0
- package/dist/components/Track/useTrackCommands.d.ts.map +1 -0
- package/dist/components/shared/BaseEditToolbar.d.ts +100 -0
- package/dist/components/shared/BaseEditToolbar.d.ts.map +1 -0
- package/dist/components/shared/ToolbarButton.d.ts +49 -0
- package/dist/components/shared/ToolbarButton.d.ts.map +1 -0
- package/dist/components/shared/index.d.ts +5 -0
- package/dist/components/shared/index.d.ts.map +1 -0
- package/dist/constants/device.d.ts +14 -0
- package/dist/constants/device.d.ts.map +1 -0
- package/dist/constants/index.d.ts +20 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/map.d.ts +13 -0
- package/dist/constants/map.d.ts.map +1 -0
- package/dist/constants/plot.d.ts +33 -0
- package/dist/constants/plot.d.ts.map +1 -0
- package/dist/constants/road.d.ts +12 -0
- package/dist/constants/road.d.ts.map +1 -0
- package/dist/constants/styles.d.ts +57 -0
- package/dist/constants/styles.d.ts.map +1 -0
- package/dist/constants/theme.d.ts +47 -0
- package/dist/constants/theme.d.ts.map +1 -0
- package/dist/constants/unit.d.ts +11 -0
- package/dist/constants/unit.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/useEditMode.d.ts +75 -0
- package/dist/hooks/useEditMode.d.ts.map +1 -0
- package/dist/hooks/useLatestRef.d.ts +17 -0
- package/dist/hooks/useLatestRef.d.ts.map +1 -0
- package/dist/hooks/usePolylineEditor.d.ts +65 -0
- package/dist/hooks/usePolylineEditor.d.ts.map +1 -0
- package/dist/hooks/usePolylineRenderer.d.ts +34 -0
- package/dist/hooks/usePolylineRenderer.d.ts.map +1 -0
- package/dist/hooks/useTheme.d.ts +13 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/index.d.ts +312 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/types/basic.d.ts +57 -0
- package/dist/types/basic.d.ts.map +1 -0
- package/dist/types/components.d.ts +56 -0
- package/dist/types/components.d.ts.map +1 -0
- package/dist/types/config.d.ts +112 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/decorator.d.ts +26 -0
- package/dist/types/decorator.d.ts.map +1 -0
- package/dist/types/icon.d.ts +52 -0
- package/dist/types/icon.d.ts.map +1 -0
- package/dist/types/index.d.ts +20 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/irrigation.d.ts +315 -0
- package/dist/types/irrigation.d.ts.map +1 -0
- package/dist/types/layer.d.ts +40 -0
- package/dist/types/layer.d.ts.map +1 -0
- package/dist/types/loading.d.ts +62 -0
- package/dist/types/loading.d.ts.map +1 -0
- package/dist/types/marker.d.ts +299 -0
- package/dist/types/marker.d.ts.map +1 -0
- package/dist/types/measurement.d.ts +121 -0
- package/dist/types/measurement.d.ts.map +1 -0
- package/dist/types/notification.d.ts +50 -0
- package/dist/types/notification.d.ts.map +1 -0
- package/dist/types/plot.d.ts +479 -0
- package/dist/types/plot.d.ts.map +1 -0
- package/dist/types/road.d.ts +382 -0
- package/dist/types/road.d.ts.map +1 -0
- package/dist/types/toolbar.d.ts +176 -0
- package/dist/types/toolbar.d.ts.map +1 -0
- package/dist/types/track.d.ts +386 -0
- package/dist/types/track.d.ts.map +1 -0
- package/dist/utils/area.d.ts +57 -0
- package/dist/utils/area.d.ts.map +1 -0
- package/dist/utils/clusterIcon.d.ts +16 -0
- package/dist/utils/clusterIcon.d.ts.map +1 -0
- package/dist/utils/createAntPath.d.ts +13 -0
- package/dist/utils/createAntPath.d.ts.map +1 -0
- package/dist/utils/geometry.d.ts +41 -0
- package/dist/utils/geometry.d.ts.map +1 -0
- package/dist/utils/iconCache.d.ts +49 -0
- package/dist/utils/iconCache.d.ts.map +1 -0
- package/dist/utils/iconUtils.d.ts +46 -0
- package/dist/utils/iconUtils.d.ts.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/leafletIcons.d.ts +40 -0
- package/dist/utils/leafletIcons.d.ts.map +1 -0
- package/dist/utils/mapAnimation.d.ts +14 -0
- package/dist/utils/mapAnimation.d.ts.map +1 -0
- package/dist/utils/markerSvg.d.ts +19 -0
- package/dist/utils/markerSvg.d.ts.map +1 -0
- package/dist/utils/pulseIcon.d.ts +28 -0
- package/dist/utils/pulseIcon.d.ts.map +1 -0
- package/dist/utils/spatialIndex.d.ts +56 -0
- package/dist/utils/spatialIndex.d.ts.map +1 -0
- package/dist/utils/toggleItemState.d.ts +15 -0
- package/dist/utils/toggleItemState.d.ts.map +1 -0
- package/dist/utils/trackSimplify.d.ts +23 -0
- package/dist/utils/trackSimplify.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loading 组件相关类型定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Loading 图标名称
|
|
6
|
+
*/
|
|
7
|
+
export type LoadingIconName = 'loading-spinner' | 'loading-dots';
|
|
8
|
+
/**
|
|
9
|
+
* Loading 组件尺寸
|
|
10
|
+
*/
|
|
11
|
+
export type LoadingSize = 'small' | 'default' | 'large' | number;
|
|
12
|
+
/**
|
|
13
|
+
* Loading 遮罩配置
|
|
14
|
+
*/
|
|
15
|
+
export interface LoadingMaskConfig {
|
|
16
|
+
/**
|
|
17
|
+
* 是否显示遮罩
|
|
18
|
+
* @default true
|
|
19
|
+
*/
|
|
20
|
+
enabled?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* 遮罩背景色
|
|
23
|
+
* @default 'rgba(255, 255, 255, 0.7)'
|
|
24
|
+
*/
|
|
25
|
+
background?: string;
|
|
26
|
+
/**
|
|
27
|
+
* 遮罩层级
|
|
28
|
+
* @default 1000
|
|
29
|
+
*/
|
|
30
|
+
zIndex?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Loading 组件属性
|
|
34
|
+
*/
|
|
35
|
+
export interface LoadingProps {
|
|
36
|
+
/**
|
|
37
|
+
* 加载图标类型
|
|
38
|
+
* @default 'loading-spinner'
|
|
39
|
+
*/
|
|
40
|
+
icon?: LoadingIconName;
|
|
41
|
+
/**
|
|
42
|
+
* 描述文案
|
|
43
|
+
*/
|
|
44
|
+
description?: string;
|
|
45
|
+
/**
|
|
46
|
+
* 尺寸
|
|
47
|
+
* @default 'default'
|
|
48
|
+
*/
|
|
49
|
+
size?: LoadingSize;
|
|
50
|
+
/**
|
|
51
|
+
* 遮罩配置
|
|
52
|
+
*/
|
|
53
|
+
mask?: boolean | LoadingMaskConfig;
|
|
54
|
+
/**
|
|
55
|
+
* 自定义类名
|
|
56
|
+
*/
|
|
57
|
+
className?: string;
|
|
58
|
+
/**
|
|
59
|
+
* 自定义样式
|
|
60
|
+
*/
|
|
61
|
+
style?: React.CSSProperties;
|
|
62
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../src/types/loading.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IACnC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B"}
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 标注相关类型定义
|
|
3
|
+
*/
|
|
4
|
+
import type { Coordinate } from './basic';
|
|
5
|
+
import type { ReactNode } from 'react';
|
|
6
|
+
import type { SvgIconConfig } from './icon';
|
|
7
|
+
import type { ClusterIconConfig } from './track';
|
|
8
|
+
export type { SvgIconConfig } from './icon';
|
|
9
|
+
export type { ClusterIconConfig } from './track';
|
|
10
|
+
/**
|
|
11
|
+
* 编辑模式对象配置(Marker)
|
|
12
|
+
*/
|
|
13
|
+
export interface MarkerEditModeConfig {
|
|
14
|
+
/** 启用的编辑按钮 */
|
|
15
|
+
enabled?: boolean | ('create' | 'edit' | 'move' | 'delete')[];
|
|
16
|
+
/** 自定义工具栏内容 */
|
|
17
|
+
toolbar?: ReactNode;
|
|
18
|
+
/** 内置按钮的统一颜色(支持预设色和自定义颜色如 #ff0000、rgba(255,0,0,0.5)) */
|
|
19
|
+
color?: 'default' | 'primary' | 'danger' | 'success' | 'warning' | 'error' | 'magenta' | 'volcano' | 'gold' | 'orange' | 'cyan' | 'geekblue' | 'purple' | string;
|
|
20
|
+
/** 内置按钮的统一尺寸(支持预设尺寸和自定义数字,单位 px) */
|
|
21
|
+
size?: 'large' | 'middle' | 'small' | number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 标注数据
|
|
25
|
+
* @description 地图标注点的基础数据结构
|
|
26
|
+
*/
|
|
27
|
+
export interface MarkerData {
|
|
28
|
+
/** 标注点唯一标识 */
|
|
29
|
+
id: string | number;
|
|
30
|
+
/** 标注点位置坐标 */
|
|
31
|
+
position: Coordinate;
|
|
32
|
+
/** 标注点标题(显示在弹窗中) */
|
|
33
|
+
title?: string;
|
|
34
|
+
/** 标注点描述(显示在弹窗中) */
|
|
35
|
+
description?: string;
|
|
36
|
+
/** 预设图标名称或自定义图标 URL */
|
|
37
|
+
icon?: string;
|
|
38
|
+
/** 图标尺寸 [宽, 高] 或 数字(等同于 [n, n]) */
|
|
39
|
+
iconSize?: [number, number] | number;
|
|
40
|
+
/** 图标锚点位置 [x, y],默认为底部中心 */
|
|
41
|
+
iconAnchor?: [number, number];
|
|
42
|
+
/** 弹窗锚点位置 [x, y],相对于图标锚点 */
|
|
43
|
+
popupAnchor?: [number, number];
|
|
44
|
+
/** 图标选项 */
|
|
45
|
+
iconOptions?: MarkerIconOptions;
|
|
46
|
+
/** 是否启用动画效果 */
|
|
47
|
+
animated?: boolean;
|
|
48
|
+
/** 选中状态的图标 */
|
|
49
|
+
selectedIcon?: string | SvgIconConfig;
|
|
50
|
+
/** 是否永久显示弹窗 */
|
|
51
|
+
permanent?: boolean;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 标注图标选项
|
|
55
|
+
* @description 图标的定位和样式配置
|
|
56
|
+
*/
|
|
57
|
+
export interface MarkerIconOptions {
|
|
58
|
+
/** 图标尺寸 [宽, 高] */
|
|
59
|
+
iconSize?: [number, number];
|
|
60
|
+
/** 图标锚点位置 [x, y],默认为底部中心 */
|
|
61
|
+
iconAnchor?: [number, number];
|
|
62
|
+
/** 弹窗锚点位置 [x, y],相对于图标锚点 */
|
|
63
|
+
popupAnchor?: [number, number];
|
|
64
|
+
/** 自定义 CSS 类名 */
|
|
65
|
+
className?: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 标注新建结果
|
|
69
|
+
* @description 新建标注点后返回的数据
|
|
70
|
+
*/
|
|
71
|
+
export interface MarkerCreateResult {
|
|
72
|
+
/** 新建标注的位置 */
|
|
73
|
+
position: Coordinate;
|
|
74
|
+
/** 新建标注的标题 */
|
|
75
|
+
title: string;
|
|
76
|
+
/** 新建标注的描述 */
|
|
77
|
+
description?: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* 标注移动结果
|
|
81
|
+
* @description 移动标注点后返回的数据
|
|
82
|
+
*/
|
|
83
|
+
export interface MarkerMoveResult {
|
|
84
|
+
/** 被移动的标注 ID */
|
|
85
|
+
markerId: string | number;
|
|
86
|
+
/** 移动前的位置 */
|
|
87
|
+
oldPosition: Coordinate;
|
|
88
|
+
/** 移动后的位置 */
|
|
89
|
+
newPosition: Coordinate;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* 标注删除结果
|
|
93
|
+
* @description 删除标注点后返回的数据
|
|
94
|
+
*/
|
|
95
|
+
export interface MarkerDeleteResult {
|
|
96
|
+
/** 被删除的标注 ID */
|
|
97
|
+
markerId: string | number;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* 标注编辑结果
|
|
101
|
+
* @description 点击编辑按钮后返回的数据
|
|
102
|
+
*/
|
|
103
|
+
export interface MarkerEditResult {
|
|
104
|
+
/** 被编辑的标注 ID */
|
|
105
|
+
markerId: string | number;
|
|
106
|
+
/** 标注数据 */
|
|
107
|
+
marker: MarkerData;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Marker 事件回调集合
|
|
111
|
+
* @description 统一的声明式事件管理,类似 Ant Design Table 的 onRow
|
|
112
|
+
*/
|
|
113
|
+
export interface MarkerEvents {
|
|
114
|
+
/** 点击标注点时的回调 */
|
|
115
|
+
onClick?: (item: MarkerData) => void;
|
|
116
|
+
/** 选中状态变化时的回调 */
|
|
117
|
+
onSelect?: (id: string | number | null) => void;
|
|
118
|
+
/** 右键点击标注点时的回调 */
|
|
119
|
+
onContextMenu?: (item: MarkerData, e: L.LeafletMouseEvent) => void;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* 标注组件暴露的方法
|
|
123
|
+
* @description 通过 ref 暴露给父组件的方法
|
|
124
|
+
*/
|
|
125
|
+
export interface MarkerRef {
|
|
126
|
+
/** 退出创建模式 */
|
|
127
|
+
exitCreateMode: () => void;
|
|
128
|
+
/** 退出编辑模式(退出所有编辑状态) */
|
|
129
|
+
exitEditMode: () => void;
|
|
130
|
+
/** 打开指定 marker 的 Tooltip */
|
|
131
|
+
openTooltip: (markerId: string | number) => void;
|
|
132
|
+
/** 打开所有 marker 的 Tooltip */
|
|
133
|
+
openAllTooltips: () => void;
|
|
134
|
+
/** 关闭所有 Tooltip */
|
|
135
|
+
closeTooltip: () => void;
|
|
136
|
+
/** 获取当前选中的标注数据 */
|
|
137
|
+
getSelected: () => MarkerData | null;
|
|
138
|
+
/** 选中指定标注点(不移动地图)
|
|
139
|
+
* @param filter - 标注点 ID
|
|
140
|
+
* @param callback - 选中后的回调
|
|
141
|
+
* @param options - 选项,tooltip 是否显示 Tooltip
|
|
142
|
+
*/
|
|
143
|
+
select: (filter: string | number, callback?: () => void, options?: {
|
|
144
|
+
tooltip?: boolean;
|
|
145
|
+
}) => void;
|
|
146
|
+
/** 清除选中状态 */
|
|
147
|
+
deselect: (callback?: () => void) => void;
|
|
148
|
+
/** 飞行到指定标注点或所有标注点的边界 */
|
|
149
|
+
flyTo: (markerId?: string | number, callback?: () => void, options?: {
|
|
150
|
+
zoom?: number;
|
|
151
|
+
duration?: number;
|
|
152
|
+
}) => void;
|
|
153
|
+
/** 即时跳转视图(无动画) */
|
|
154
|
+
fitBounds: (filter?: (string | number)[], callback?: () => void) => void;
|
|
155
|
+
/** 更新指定标注的 Tooltip 内容 */
|
|
156
|
+
updateTooltipContent: (markerId: string | number, content: {
|
|
157
|
+
title?: string;
|
|
158
|
+
description?: string;
|
|
159
|
+
}) => void;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* 标注图标配置
|
|
163
|
+
* @description 统一的图标配置项
|
|
164
|
+
*/
|
|
165
|
+
export interface MarkerIconItemConfig {
|
|
166
|
+
/** 图标名称或 SVG 字符串或图片 URL */
|
|
167
|
+
icon?: string;
|
|
168
|
+
/** 图标尺寸 [宽, 高] 或 数字 */
|
|
169
|
+
iconSize?: [number, number] | number;
|
|
170
|
+
/** 图标锚点位置 [x, y],默认为底部中心 */
|
|
171
|
+
iconAnchor?: [number, number];
|
|
172
|
+
/** 弹窗锚点位置 [x, y],相对于图标锚点 */
|
|
173
|
+
popupAnchor?: [number, number];
|
|
174
|
+
/** 是否启用动画效果,默认 true */
|
|
175
|
+
animated?: boolean;
|
|
176
|
+
/** 图标颜色 */
|
|
177
|
+
color?: string;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* 统一图标配置对象
|
|
181
|
+
* @description 支持默认、选中、编辑中、聚合四种状态的图标配置
|
|
182
|
+
*/
|
|
183
|
+
export interface MarkerIconsConfig {
|
|
184
|
+
/** 默认状态图标配置(蓝色标记) */
|
|
185
|
+
default?: MarkerIconItemConfig;
|
|
186
|
+
/** 选中状态图标配置(红色标记) */
|
|
187
|
+
selected?: MarkerIconItemConfig;
|
|
188
|
+
/** 编辑中状态图标配置(橙色标记) */
|
|
189
|
+
editing?: MarkerIconItemConfig;
|
|
190
|
+
/** 聚合气泡图标配置 */
|
|
191
|
+
cluster?: ClusterIconConfig;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Marker 聚合配置
|
|
195
|
+
* @description 配置标注点的聚合行为
|
|
196
|
+
*/
|
|
197
|
+
export interface MarkerClusterConfig {
|
|
198
|
+
/** 聚合半径(像素),默认 40 */
|
|
199
|
+
radius?: number;
|
|
200
|
+
/** 聚合生效的最大缩放级别,超过此级别不聚合,默认 18 */
|
|
201
|
+
maxZoom?: number;
|
|
202
|
+
/** 最小聚合数量,低于此数量的点不形成聚合,默认 2 */
|
|
203
|
+
minPoints?: number;
|
|
204
|
+
/**
|
|
205
|
+
* 点击聚合气泡后的行为
|
|
206
|
+
* - 'zoom': 放大地图到聚合内的点边界(默认)
|
|
207
|
+
* - 'expand': 展开聚合显示所有点
|
|
208
|
+
*/
|
|
209
|
+
onClickBehavior?: 'zoom' | 'expand';
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* 标注组件属性
|
|
213
|
+
* @description Marker 组件的 Props 定义
|
|
214
|
+
*/
|
|
215
|
+
export interface MarkerProps {
|
|
216
|
+
/** 标注数据数组 */
|
|
217
|
+
dataSource?: MarkerData[];
|
|
218
|
+
/** 点击标注时的回调 */
|
|
219
|
+
onClick?: (item: MarkerData) => void;
|
|
220
|
+
/** 右键点击标注时的回调 */
|
|
221
|
+
onContextMenu?: (item: MarkerData, e: L.LeafletMouseEvent) => void;
|
|
222
|
+
/** 是否永久显示弹窗 */
|
|
223
|
+
permanent?: boolean;
|
|
224
|
+
/** 编辑模式 */
|
|
225
|
+
editMode?: boolean | ('create' | 'edit' | 'move' | 'delete')[] | MarkerEditModeConfig;
|
|
226
|
+
/** 新建标注回调 */
|
|
227
|
+
onCreate?: (result: MarkerCreateResult) => void;
|
|
228
|
+
/** 编辑标注回调(点击编辑按钮触发) */
|
|
229
|
+
onEdit?: (result: MarkerEditResult) => void;
|
|
230
|
+
/** 移动标注回调 */
|
|
231
|
+
onMove?: (result: MarkerMoveResult) => void;
|
|
232
|
+
/** 删除标注回调 */
|
|
233
|
+
onDelete?: (result: MarkerDeleteResult) => void;
|
|
234
|
+
/** 保存回调 */
|
|
235
|
+
onSave?: (result: {
|
|
236
|
+
mode: string;
|
|
237
|
+
} & (MarkerCreateResult | MarkerMoveResult)) => void;
|
|
238
|
+
/** 选中变化回调 */
|
|
239
|
+
onSelect?: (id: string | number | null) => void;
|
|
240
|
+
/** 选中的标注 ID(受控模式) */
|
|
241
|
+
value?: string | number | null;
|
|
242
|
+
/** 默认选中的标注 ID(非受控模式) */
|
|
243
|
+
defaultValue?: string | number;
|
|
244
|
+
/** 是否显示编辑模式提示,默认 false */
|
|
245
|
+
showEditHint?: boolean;
|
|
246
|
+
/** Marker 数据加载完成回调 */
|
|
247
|
+
onLoaded?: (data: MarkerData[]) => void;
|
|
248
|
+
/** 统一图标配置(默认、选中、编辑中、聚合状态) */
|
|
249
|
+
icons?: MarkerIconsConfig;
|
|
250
|
+
/**
|
|
251
|
+
* 聚合配置
|
|
252
|
+
* - true: 启用默认聚合配置
|
|
253
|
+
* - object: 自定义聚合参数
|
|
254
|
+
* @description 启用后,在小缩放级别下将相近的标注点聚合为气泡显示
|
|
255
|
+
*/
|
|
256
|
+
cluster?: boolean | MarkerClusterConfig;
|
|
257
|
+
/**
|
|
258
|
+
* 聚合气泡点击回调
|
|
259
|
+
* @param count - 聚合内的标注点数量
|
|
260
|
+
* @param markers - 聚合内的标注数据数组
|
|
261
|
+
*/
|
|
262
|
+
onClusterClick?: (count: number, markers: MarkerData[]) => void;
|
|
263
|
+
/**
|
|
264
|
+
* 统一的声明式事件管理(类似 Ant Design Table 的 onRow)
|
|
265
|
+
* @description 返回一个事件回调对象,可按需绑定事件,支持基于数据项的条件化事件处理
|
|
266
|
+
* @param item - 当前标注数据
|
|
267
|
+
* @param index - 当前标注在数据源中的索引
|
|
268
|
+
* @returns MarkerEvents 事件回调对象
|
|
269
|
+
* @example
|
|
270
|
+
* ```tsx
|
|
271
|
+
* <Marker
|
|
272
|
+
* dataSource={markers}
|
|
273
|
+
* onRow={(item, index) => ({
|
|
274
|
+
* onClick: () => console.log('点击了', item.title),
|
|
275
|
+
* onContextMenu: (item, e) => { e.originalEvent.preventDefault(); },
|
|
276
|
+
* })}
|
|
277
|
+
* />
|
|
278
|
+
* ```
|
|
279
|
+
*/
|
|
280
|
+
onRow?: (item: MarkerData, index: number) => MarkerEvents;
|
|
281
|
+
/**
|
|
282
|
+
* 是否显示加载状态
|
|
283
|
+
* @description 当为 true 时,在标注点上显示加载动画覆盖层
|
|
284
|
+
* @default false
|
|
285
|
+
*/
|
|
286
|
+
loading?: boolean;
|
|
287
|
+
/**
|
|
288
|
+
* 加载遮罩配置
|
|
289
|
+
* @description 自定义加载遮罩的样式
|
|
290
|
+
*/
|
|
291
|
+
loadingMask?: {
|
|
292
|
+
/** 是否显示遮罩,默认 true */
|
|
293
|
+
enabled?: boolean;
|
|
294
|
+
/** 遮罩背景色,默认 'rgba(255, 255, 255, 0.7)' */
|
|
295
|
+
background?: string;
|
|
296
|
+
/** 遮罩层级,默认 1000 */
|
|
297
|
+
zIndex?: number;
|
|
298
|
+
};
|
|
299
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../src/types/marker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 测量工具栏类型定义
|
|
3
|
+
*/
|
|
4
|
+
import type { CSSProperties } from 'react';
|
|
5
|
+
/**
|
|
6
|
+
* 长度单位
|
|
7
|
+
*/
|
|
8
|
+
export type LengthUnit = 'm' | 'km' | 'ft' | 'mi';
|
|
9
|
+
/**
|
|
10
|
+
* 面积单位(测量组件专用)
|
|
11
|
+
*/
|
|
12
|
+
export type MeasurementAreaUnit = 'sqm' | 'sqkm' | 'sqft' | 'acre' | 'hectare';
|
|
13
|
+
/**
|
|
14
|
+
* 测量模式
|
|
15
|
+
*/
|
|
16
|
+
export type MeasurementMode = 'length' | 'area' | null;
|
|
17
|
+
/**
|
|
18
|
+
* 测量控件位置
|
|
19
|
+
*/
|
|
20
|
+
export type MeasurementControlPosition = 'topleft' | 'topright' | 'bottomleft' | 'bottomright';
|
|
21
|
+
/**
|
|
22
|
+
* 测量工具栏属性
|
|
23
|
+
*/
|
|
24
|
+
export interface MeasurementToolbarProps {
|
|
25
|
+
/**
|
|
26
|
+
* 是否显示
|
|
27
|
+
* @default true
|
|
28
|
+
*/
|
|
29
|
+
visible?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* 控件位置
|
|
32
|
+
* @default 'bottomright'
|
|
33
|
+
*/
|
|
34
|
+
position?: MeasurementControlPosition;
|
|
35
|
+
/**
|
|
36
|
+
* 长度单位
|
|
37
|
+
* @default 'm'
|
|
38
|
+
*/
|
|
39
|
+
lengthUnit?: LengthUnit;
|
|
40
|
+
/**
|
|
41
|
+
* 面积单位
|
|
42
|
+
* @default 'sqm'
|
|
43
|
+
*/
|
|
44
|
+
areaUnit?: MeasurementAreaUnit;
|
|
45
|
+
/**
|
|
46
|
+
* 测量精度(小数位数)
|
|
47
|
+
* @default 2
|
|
48
|
+
*/
|
|
49
|
+
precision?: number;
|
|
50
|
+
/**
|
|
51
|
+
* 是否显示实时测量值
|
|
52
|
+
* @default true
|
|
53
|
+
*/
|
|
54
|
+
showMeasurements?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* 自定义样式
|
|
57
|
+
*/
|
|
58
|
+
style?: CSSProperties;
|
|
59
|
+
/**
|
|
60
|
+
* 自定义类名
|
|
61
|
+
*/
|
|
62
|
+
className?: string;
|
|
63
|
+
/**
|
|
64
|
+
* 开始测量时的回调
|
|
65
|
+
*/
|
|
66
|
+
onStartMeasurement?: (mode: MeasurementMode) => void;
|
|
67
|
+
/**
|
|
68
|
+
* 结束测量时的回调
|
|
69
|
+
*/
|
|
70
|
+
onEndMeasurement?: (mode: MeasurementMode) => void;
|
|
71
|
+
/**
|
|
72
|
+
* 测量值变化时的回调
|
|
73
|
+
*/
|
|
74
|
+
onMeasurementChange?: (data: MeasurementData) => void;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 测量数据
|
|
78
|
+
*/
|
|
79
|
+
export interface MeasurementData {
|
|
80
|
+
/**
|
|
81
|
+
* 当前测量模式
|
|
82
|
+
*/
|
|
83
|
+
mode: MeasurementMode;
|
|
84
|
+
/**
|
|
85
|
+
* 当前长度值(米)
|
|
86
|
+
*/
|
|
87
|
+
length?: number;
|
|
88
|
+
/**
|
|
89
|
+
* 当前面积值(平方米)
|
|
90
|
+
*/
|
|
91
|
+
area?: number;
|
|
92
|
+
/**
|
|
93
|
+
* 格式化后的长度显示
|
|
94
|
+
*/
|
|
95
|
+
formattedLength?: string;
|
|
96
|
+
/**
|
|
97
|
+
* 格式化后的面积显示
|
|
98
|
+
*/
|
|
99
|
+
formattedArea?: string;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* 单位配置
|
|
103
|
+
*/
|
|
104
|
+
export interface UnitConfig {
|
|
105
|
+
/**
|
|
106
|
+
* 单位名称
|
|
107
|
+
*/
|
|
108
|
+
name: string;
|
|
109
|
+
/**
|
|
110
|
+
* 单位符号
|
|
111
|
+
*/
|
|
112
|
+
symbol: string;
|
|
113
|
+
/**
|
|
114
|
+
* 转换为基本单位的系数(米或平方米)
|
|
115
|
+
*/
|
|
116
|
+
toBase: number;
|
|
117
|
+
/**
|
|
118
|
+
* 从基本单位转换的系数
|
|
119
|
+
*/
|
|
120
|
+
fromBase: number;
|
|
121
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurement.d.ts","sourceRoot":"","sources":["../../src/types/measurement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC;AAE/F;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 通知相关类型定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 通知类型
|
|
6
|
+
* @description 通知消息的类型
|
|
7
|
+
*/
|
|
8
|
+
export type NotificationType = 'info' | 'success' | 'warning' | 'error';
|
|
9
|
+
/**
|
|
10
|
+
* 通知选项
|
|
11
|
+
* @description 通知消息的配置选项
|
|
12
|
+
*/
|
|
13
|
+
export interface NotificationOptions {
|
|
14
|
+
/** 通知类型 */
|
|
15
|
+
type?: NotificationType;
|
|
16
|
+
/** 通知标题 */
|
|
17
|
+
title?: string;
|
|
18
|
+
/** 通知内容 */
|
|
19
|
+
message?: string;
|
|
20
|
+
/** 显示时长(毫秒),false 表示不自动关闭 */
|
|
21
|
+
duration?: number | false;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 通知实例方法
|
|
25
|
+
* @description Notification 组件暴露的方法
|
|
26
|
+
*/
|
|
27
|
+
export interface NotificationInstance {
|
|
28
|
+
/** 打开通知 */
|
|
29
|
+
open: (options: NotificationOptions) => number;
|
|
30
|
+
/** 关闭指定通知 */
|
|
31
|
+
close: (id: number) => void;
|
|
32
|
+
/** 清除所有通知 */
|
|
33
|
+
clear: () => void;
|
|
34
|
+
/** 显示信息通知 */
|
|
35
|
+
info: (messageOrOptions: string | NotificationOptions, duration?: number) => number;
|
|
36
|
+
/** 显示成功通知 */
|
|
37
|
+
success: (messageOrOptions: string | NotificationOptions, duration?: number) => number;
|
|
38
|
+
/** 显示警告通知 */
|
|
39
|
+
warning: (messageOrOptions: string | NotificationOptions, duration?: number) => number;
|
|
40
|
+
/** 显示错误通知 */
|
|
41
|
+
error: (messageOrOptions: string | NotificationOptions, duration?: number) => number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 通知组件属性
|
|
45
|
+
* @description Notification 组件的 Props 定义
|
|
46
|
+
*/
|
|
47
|
+
export interface NotificationProps {
|
|
48
|
+
/** 关闭通知时的回调 */
|
|
49
|
+
onClose?: (id: number) => void;
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/types/notification.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW;IACX,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW;IACX,IAAI,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,MAAM,CAAC;IAC/C,aAAa;IACb,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,aAAa;IACb,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,aAAa;IACb,IAAI,EAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG,mBAAmB,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpF,aAAa;IACb,OAAO,EAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG,mBAAmB,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACvF,aAAa;IACb,OAAO,EAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG,mBAAmB,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACvF,aAAa;IACb,KAAK,EAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG,mBAAmB,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACtF;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,eAAe;IACf,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC"}
|