@baidumap/vue-bmap 1.0.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/LICENSE +21 -0
- package/README.md +271 -0
- package/dist/components/Control/index.d.ts +186 -0
- package/dist/components/Layer/index.d.ts +138 -0
- package/dist/components/Map/Map.d.ts +340 -0
- package/dist/components/Map/MapRef.d.ts +204 -0
- package/dist/components/Map/index.d.ts +4 -0
- package/dist/components/Overlay/InfoWindow.d.ts +193 -0
- package/dist/components/Overlay/index.d.ts +50 -0
- package/dist/components/Overlay/types.d.ts +799 -0
- package/dist/composables/index.d.ts +12 -0
- package/dist/composables/useCapabilities.d.ts +5 -0
- package/dist/composables/useDriver.d.ts +5 -0
- package/dist/composables/useGeocoder.d.ts +17 -0
- package/dist/composables/useIcon.d.ts +5 -0
- package/dist/composables/useMap.d.ts +8 -0
- package/dist/composables/useMapEvent.d.ts +4 -0
- package/dist/composables/useMapReady.d.ts +11 -0
- package/dist/composables/useMapRef.d.ts +8 -0
- package/dist/composables/useServiceTimeout.d.ts +7 -0
- package/dist/composables/useSymbol.d.ts +5 -0
- package/dist/const/index.d.ts +19 -0
- package/dist/constants/index.d.ts +195 -0
- package/dist/context/index.d.ts +31 -0
- package/dist/drivers/capabilityMatrix.d.ts +3 -0
- package/dist/drivers/createDriver.d.ts +18 -0
- package/dist/drivers/types.d.ts +359 -0
- package/dist/drivers/unsupported.d.ts +66 -0
- package/dist/drivers/v3Driver.d.ts +13 -0
- package/dist/drivers/v4Driver.d.ts +15 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +4121 -0
- package/dist/index.js.map +1 -0
- package/dist/loader/index.d.ts +21 -0
- package/dist/loader/registry.d.ts +13 -0
- package/dist/loader/stableHash.d.ts +2 -0
- package/dist/provider/BMapProvider.d.ts +108 -0
- package/dist/types/core.d.ts +82 -0
- package/dist/types/index.d.ts +111 -0
- package/dist/types/results.d.ts +171 -0
- package/dist/types-skd.d.ts +21 -0
- package/dist/utils/createComponent.d.ts +51 -0
- package/dist/utils/debugWarn.d.ts +22 -0
- package/dist/utils/event.d.ts +7 -0
- package/dist/utils/handle.d.ts +16 -0
- package/dist/utils/pointEquals.d.ts +7 -0
- package/dist/utils/sdk.d.ts +47 -0
- package/dist/utils/shallowEqual.d.ts +2 -0
- package/dist/utils/stableStringify.d.ts +10 -0
- package/package.json +71 -0
|
@@ -0,0 +1,799 @@
|
|
|
1
|
+
import { Point, Size, Bounds, OverlayHandle } from '../../types';
|
|
2
|
+
import { ControlAnchor } from '../../constants';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 图标描述(plain object)— 等同于 IconOptions + constructor 的 url/size 参数。
|
|
6
|
+
* 框架内部通过 toRawIcon 自动转成 SDK 的 BMap.Icon 实例,用户无需手动 new BMap.Icon。
|
|
7
|
+
*/
|
|
8
|
+
export interface PlainIcon extends IconOptions {
|
|
9
|
+
/** 图片资源地址(URL / dataURL) */
|
|
10
|
+
url: string;
|
|
11
|
+
/** 图标可视区域大小 */
|
|
12
|
+
size?: Size;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 编辑态节点图标(enableEditing 时生效,4.0/GL,2.0.3 新增)。
|
|
16
|
+
* 所有可编辑覆盖物(Polyline/Polygon/Circle/Rectangle/BezierCurve)均支持,
|
|
17
|
+
* 传 { url, size } 图标配置,框架自动转成 SDK Icon 实例。
|
|
18
|
+
*/
|
|
19
|
+
export interface EditNodeStyleOptions {
|
|
20
|
+
/** 编辑态端点(顶点)图标 */
|
|
21
|
+
node?: PlainIcon | OverlayHandle;
|
|
22
|
+
/** 编辑态中间点(拖出可新增顶点)图标 */
|
|
23
|
+
nodeT?: PlainIcon | OverlayHandle;
|
|
24
|
+
}
|
|
25
|
+
/** 矢量图标(Symbol 变体)— 作为 Marker icon 使用,框架自动转 SDK Symbol 实例 */
|
|
26
|
+
export interface SymbolIcon {
|
|
27
|
+
symbol: {
|
|
28
|
+
/** SVG path 字符串或 BMap_Symbol_SHAPE_* 常量(shapeType 为别名) */
|
|
29
|
+
path?: string | number;
|
|
30
|
+
shapeType?: string | number;
|
|
31
|
+
anchor?: Size;
|
|
32
|
+
fillColor?: string;
|
|
33
|
+
fillOpacity?: number;
|
|
34
|
+
scale?: number;
|
|
35
|
+
rotation?: number;
|
|
36
|
+
strokeColor?: string;
|
|
37
|
+
strokeOpacity?: number;
|
|
38
|
+
strokeWeight?: number;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export interface MarkerOptions {
|
|
42
|
+
offset?: Size;
|
|
43
|
+
/** 图标 — 传 plain object / Symbol 矢量图标 / useIcon/useSymbol 返回值,框架自动转 SDK 实例 */
|
|
44
|
+
icon?: PlainIcon | SymbolIcon | OverlayHandle | null;
|
|
45
|
+
anchor?: ControlAnchor;
|
|
46
|
+
enableMassClear?: boolean;
|
|
47
|
+
enableDragging?: boolean;
|
|
48
|
+
enableClicking?: boolean;
|
|
49
|
+
raiseOnDrag?: boolean;
|
|
50
|
+
draggingCursor?: string;
|
|
51
|
+
rotation?: number;
|
|
52
|
+
title?: string;
|
|
53
|
+
/** 阴影图标 @removed 4.0(仅 v3) */
|
|
54
|
+
shadow?: PlainIcon | OverlayHandle | null;
|
|
55
|
+
zIndex?: number;
|
|
56
|
+
/** 基础 zIndex(构造函数) */
|
|
57
|
+
baseZIndex?: number;
|
|
58
|
+
/** 限制拖拽区域(构造函数) */
|
|
59
|
+
restrictDraggingArea?: boolean;
|
|
60
|
+
/** 透明度 0-1 @since 4.0 */
|
|
61
|
+
opacity?: number;
|
|
62
|
+
/** 标注颜色 @since 4.0 */
|
|
63
|
+
color?: string;
|
|
64
|
+
/** 碰撞检测优先级 @since 4.0 */
|
|
65
|
+
rank?: number;
|
|
66
|
+
/** 旋转中心 @since 4.0 */
|
|
67
|
+
rotationOrigin?: number;
|
|
68
|
+
/** 碰撞检测 @since 4.0(构造函数) */
|
|
69
|
+
enableCollisionDetection?: boolean;
|
|
70
|
+
/** 拖拽时移动地图 @since 4.0(构造函数) */
|
|
71
|
+
enableDraggingMap?: boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface LabelOptions {
|
|
74
|
+
offset?: Size;
|
|
75
|
+
position?: Point;
|
|
76
|
+
anchor?: ControlAnchor;
|
|
77
|
+
enableMassClear?: boolean;
|
|
78
|
+
enableClicking?: boolean;
|
|
79
|
+
width?: number;
|
|
80
|
+
/** CSS 样式键值对(如 { color: '#f00', fontSize: '14px' }) */
|
|
81
|
+
styles?: Record<string, string | number>;
|
|
82
|
+
/** 透明度 0-1(对应 SDK setOpacity,v4+) */
|
|
83
|
+
opacity?: number;
|
|
84
|
+
/** 鼠标悬停标题(对应 SDK setTitle) */
|
|
85
|
+
title?: string;
|
|
86
|
+
/** 层叠顺序(对应 SDK setZIndex) */
|
|
87
|
+
zIndex?: number;
|
|
88
|
+
}
|
|
89
|
+
/** IconSequence 值对象句柄:driver.createIconSequence / <IconSequence> 产出,放进 Polyline#icons */
|
|
90
|
+
export type IconSequenceHandle = OverlayHandle;
|
|
91
|
+
export interface PolylineOptions {
|
|
92
|
+
strokeColor?: string;
|
|
93
|
+
strokeWeight?: number;
|
|
94
|
+
strokeOpacity?: number;
|
|
95
|
+
strokeStyle?: 'solid' | 'dashed' | 'dotted';
|
|
96
|
+
/** 描边线端头类型 @since 4.0 */
|
|
97
|
+
strokeLineCap?: 'round' | 'butt' | 'square';
|
|
98
|
+
/** 描边线连接处类型 @since 4.0 */
|
|
99
|
+
strokeLineJoin?: 'round' | 'miter' | 'bevel';
|
|
100
|
+
enableMassClear?: boolean;
|
|
101
|
+
enableEditing?: boolean;
|
|
102
|
+
enableClicking?: boolean;
|
|
103
|
+
/** 大地线模式 */
|
|
104
|
+
geodesic?: boolean;
|
|
105
|
+
/** 跨180度经线最短路径 */
|
|
106
|
+
linkRight?: boolean;
|
|
107
|
+
/** 跨经度180度裁剪 @since 4.0 */
|
|
108
|
+
clip?: boolean;
|
|
109
|
+
/** 输入坐标类型 @since 4.0 */
|
|
110
|
+
coordType?: 'BMAP_COORD_BD09' | 'BMAP_COORD_GCJ02' | 'BMAP_COORD_WGS84';
|
|
111
|
+
/** 配置贴合折线的图标(方向箭头/循环图标);元素用 driver.createIconSequence 返回的 handle,也兼容 SDK IconSequence 实例。4.0 折线纹理优先用 strokeTexture */
|
|
112
|
+
icons?: Array<IconSequenceHandle | object>;
|
|
113
|
+
/** 虚线样式 [实线长, 间隙长] @since 4.0 */
|
|
114
|
+
dashArray?: number[];
|
|
115
|
+
/** 线纹理配置 @since 4.0 */
|
|
116
|
+
strokeTexture?: {
|
|
117
|
+
url: string;
|
|
118
|
+
width?: number;
|
|
119
|
+
height?: number;
|
|
120
|
+
};
|
|
121
|
+
zIndex?: number;
|
|
122
|
+
}
|
|
123
|
+
export interface PolygonOptions {
|
|
124
|
+
strokeColor?: string;
|
|
125
|
+
fillColor?: string;
|
|
126
|
+
strokeWeight?: number;
|
|
127
|
+
strokeOpacity?: number;
|
|
128
|
+
fillOpacity?: number;
|
|
129
|
+
strokeStyle?: 'solid' | 'dashed' | 'dotted';
|
|
130
|
+
/** 描边线端头类型 @since 4.0 */
|
|
131
|
+
strokeLineCap?: 'round' | 'butt' | 'square';
|
|
132
|
+
/** 描边线连接处类型 @since 4.0 */
|
|
133
|
+
strokeLineJoin?: 'round' | 'miter' | 'bevel';
|
|
134
|
+
enableMassClear?: boolean;
|
|
135
|
+
enableEditing?: boolean;
|
|
136
|
+
enableClicking?: boolean;
|
|
137
|
+
/** 跨180度经线最短路径 */
|
|
138
|
+
linkRight?: boolean;
|
|
139
|
+
/** 输入坐标类型 @since 4.0 */
|
|
140
|
+
coordType?: 'BMAP_COORD_BD09' | 'BMAP_COORD_GCJ02' | 'BMAP_COORD_WGS84';
|
|
141
|
+
/** 虚线样式 [实线长, 间隙长] @since 4.0 */
|
|
142
|
+
dashArray?: number[];
|
|
143
|
+
zIndex?: number;
|
|
144
|
+
}
|
|
145
|
+
/** Circle 不支持 strokeLineCap/strokeLineJoin/linkRight */
|
|
146
|
+
export interface CircleOptions {
|
|
147
|
+
strokeColor?: string;
|
|
148
|
+
fillColor?: string;
|
|
149
|
+
strokeWeight?: number;
|
|
150
|
+
strokeOpacity?: number;
|
|
151
|
+
fillOpacity?: number;
|
|
152
|
+
strokeStyle?: 'solid' | 'dashed' | 'dotted';
|
|
153
|
+
enableMassClear?: boolean;
|
|
154
|
+
enableEditing?: boolean;
|
|
155
|
+
enableClicking?: boolean;
|
|
156
|
+
coordType?: 'BMAP_COORD_BD09' | 'BMAP_COORD_GCJ02' | 'BMAP_COORD_WGS84';
|
|
157
|
+
dashArray?: number[];
|
|
158
|
+
zIndex?: number;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Rectangle 不支持 strokeLineCap/strokeLineJoin。
|
|
162
|
+
* 整个 Rectangle 类 @since 4.0(v3 不存在,driver 返回 null)。
|
|
163
|
+
*/
|
|
164
|
+
export interface RectangleOptions {
|
|
165
|
+
strokeColor?: string;
|
|
166
|
+
fillColor?: string;
|
|
167
|
+
strokeWeight?: number;
|
|
168
|
+
strokeOpacity?: number;
|
|
169
|
+
fillOpacity?: number;
|
|
170
|
+
strokeStyle?: 'solid' | 'dashed' | 'dotted';
|
|
171
|
+
enableMassClear?: boolean;
|
|
172
|
+
enableEditing?: boolean;
|
|
173
|
+
enableClicking?: boolean;
|
|
174
|
+
/** 跨180度经线最短路径 */
|
|
175
|
+
linkRight?: boolean;
|
|
176
|
+
/** 输入坐标类型 */
|
|
177
|
+
coordType?: 'BMAP_COORD_BD09' | 'BMAP_COORD_GCJ02' | 'BMAP_COORD_WGS84';
|
|
178
|
+
/** 虚线样式 [实线长, 间隙长],默认实线与空隙均为线宽的 2 倍 */
|
|
179
|
+
dashArray?: number[];
|
|
180
|
+
zIndex?: number;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* BezierCurve 只有描边、没有填充,也不支持编辑 / strokeLineCap / strokeLineJoin / coordType。
|
|
184
|
+
* 整个 BezierCurve 类 @since 4.0(v3 不存在,driver 返回 null)。
|
|
185
|
+
*/
|
|
186
|
+
export interface BezierCurveOptions {
|
|
187
|
+
strokeColor?: string;
|
|
188
|
+
strokeWeight?: number;
|
|
189
|
+
strokeOpacity?: number;
|
|
190
|
+
strokeStyle?: 'solid' | 'dashed' | 'dotted';
|
|
191
|
+
enableMassClear?: boolean;
|
|
192
|
+
enableClicking?: boolean;
|
|
193
|
+
/** 是否启用编辑(拖拽顶点/控制点),4.0/GL */
|
|
194
|
+
enableEditing?: boolean;
|
|
195
|
+
/** 虚线样式 [实线长, 间隙长],默认实线与空隙均为线宽的 2 倍 */
|
|
196
|
+
dashArray?: number[];
|
|
197
|
+
zIndex?: number;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Prism 只有顶面/侧面填充,没有任何 stroke 系列配置,也不支持编辑。
|
|
201
|
+
* 整个 Prism 类 @since 4.0(v3 不存在,driver 返回 null)。
|
|
202
|
+
*/
|
|
203
|
+
export interface PrismOptions {
|
|
204
|
+
topFillColor?: string;
|
|
205
|
+
topFillOpacity?: number;
|
|
206
|
+
sideFillColor?: string;
|
|
207
|
+
sideFillOpacity?: number;
|
|
208
|
+
enableMassClear?: boolean;
|
|
209
|
+
enableClicking?: boolean;
|
|
210
|
+
zIndex?: number;
|
|
211
|
+
}
|
|
212
|
+
export interface GroundOverlayOptions {
|
|
213
|
+
/** 图层透明度 0~1,默认 1 */
|
|
214
|
+
opacity?: number;
|
|
215
|
+
/** 是否允许被 map.clearOverlays() 清除,默认 true */
|
|
216
|
+
enableMassClear?: boolean;
|
|
217
|
+
/** 是否响应鼠标事件,默认 true @since 4.0 */
|
|
218
|
+
enableClicking?: boolean;
|
|
219
|
+
/**
|
|
220
|
+
* 叠加内容来源。type='image' 传图片地址,'video' 传视频地址,'canvas' 直接传 canvas 元素。
|
|
221
|
+
* @since 4.0
|
|
222
|
+
*/
|
|
223
|
+
url?: string | HTMLCanvasElement;
|
|
224
|
+
/** 最小缩放级别,v3 默认 1,v4 默认 3 */
|
|
225
|
+
displayOnMinLevel?: number;
|
|
226
|
+
/** 最大缩放级别,v3 默认 19,v4 默认 21 */
|
|
227
|
+
displayOnMaxLevel?: number;
|
|
228
|
+
/** @deprecated 4.0 请使用 url,SDK 仍兼容此配置 */
|
|
229
|
+
imageURL?: string;
|
|
230
|
+
/** 是否拉伸图片填满区域,默认 false @removed 4.0(仅 v3 有效) */
|
|
231
|
+
stretch?: boolean;
|
|
232
|
+
/** 叠加内容类型,默认 'image' @since 4.0 */
|
|
233
|
+
type?: 'image' | 'video' | 'canvas';
|
|
234
|
+
/** 是否绘制在普通覆盖物之上,默认 false @since 4.0 */
|
|
235
|
+
top?: boolean;
|
|
236
|
+
/**
|
|
237
|
+
* 是否开启循环重绘,仅 type='canvas' 生效。开启后每帧调用 drawHook 并重新采集 canvas 作为贴图。
|
|
238
|
+
* 默认 false @since 4.0
|
|
239
|
+
*/
|
|
240
|
+
isReDraw?: boolean;
|
|
241
|
+
/** 自定义绘制回调,type='canvas' 且 isReDraw 开启时每帧渲染前调用 @since 4.0 */
|
|
242
|
+
drawHook?: () => void;
|
|
243
|
+
/**
|
|
244
|
+
* 层叠顺序。注意:SDK 的 GroundOverlayOptions 没有此字段(不能通过 constructor 传),
|
|
245
|
+
* 但类上有 setZIndex(),所以这里作为可响应式更新的属性暴露。
|
|
246
|
+
* v4 若需始终置于普通覆盖物之上请用 top。
|
|
247
|
+
*/
|
|
248
|
+
zIndex?: number;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* GroundPoint 构造函数的可选参数。
|
|
252
|
+
* SDK dts 注释标明"继承 GroundOverlayOptions",类本身继承 GroundOverlay,
|
|
253
|
+
* 因此除自身 7 个字段外还继承了 GroundOverlayOptions 的全部字段(opacity、enableMassClear 等)。
|
|
254
|
+
* @since 4.0
|
|
255
|
+
*/
|
|
256
|
+
export interface GroundPointOptions extends GroundOverlayOptions {
|
|
257
|
+
/** 图标地址(GroundPoint 只接受图片地址,不接受 canvas 元素) */
|
|
258
|
+
url?: string;
|
|
259
|
+
/** 坐标点尺寸,单位像素 */
|
|
260
|
+
size?: Size;
|
|
261
|
+
/** 锚点,以图标左上角为原点 @default new BMap.Size(0, 0) */
|
|
262
|
+
anchor?: Size;
|
|
263
|
+
/** 缩放比例 @default 1 */
|
|
264
|
+
scale?: number;
|
|
265
|
+
/** 旋转角度,单位度 @default 0 */
|
|
266
|
+
rotation?: number;
|
|
267
|
+
/** 偏移量 @default new BMap.Size(0, 0) */
|
|
268
|
+
offset?: Size;
|
|
269
|
+
/** 尺寸参考的缩放级别 @default 18 */
|
|
270
|
+
level?: number;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* PointCollection 构造函数的可选参数。
|
|
274
|
+
* @removed 4.0 — PointCollection 整体在 v4 移除,仅 v3 可用。
|
|
275
|
+
*/
|
|
276
|
+
export interface PointCollectionOptions {
|
|
277
|
+
/** 海量点的预设形状(ShapeType 枚举,见 BMAP_POINT_SHAPE_* 常量) */
|
|
278
|
+
shape?: number;
|
|
279
|
+
/**
|
|
280
|
+
* 海量点的颜色,支持颜色字符串、十六进制、RGB、RGBA、HSL、HSLA 格式
|
|
281
|
+
* @default '#fa937e'
|
|
282
|
+
*/
|
|
283
|
+
color?: string;
|
|
284
|
+
/** 海量点的预设尺寸(SizeType 枚举,见 BMAP_POINT_SIZE_* 常量) */
|
|
285
|
+
size?: number;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* InfoWindow 构造函数的可选参数。
|
|
289
|
+
* enableMessage / message 在 v4 已移除(仅 v3 有效)。
|
|
290
|
+
*/
|
|
291
|
+
export interface InfoWindowOptions {
|
|
292
|
+
/** 信息窗宽度(px),范围 220-730,0 = 自适应 @default 0 */
|
|
293
|
+
width?: number;
|
|
294
|
+
/** 信息窗高度(px),范围 60-650,0 = 自适应 @default 0 */
|
|
295
|
+
height?: number;
|
|
296
|
+
/** 最大化时宽度(px),范围 220-730 @default 730 */
|
|
297
|
+
maxWidth?: number;
|
|
298
|
+
/** 位置偏移值,底端尖角相对于地理坐标的偏移量 */
|
|
299
|
+
offset?: Size;
|
|
300
|
+
/** 标题文字,支持 HTML */
|
|
301
|
+
title?: string;
|
|
302
|
+
/** 打开时地图自动平移 @default true */
|
|
303
|
+
enableAutoPan?: boolean;
|
|
304
|
+
/** 点击地图时关闭信息窗口 @default true */
|
|
305
|
+
enableCloseOnClick?: boolean;
|
|
306
|
+
/** 显示短信发送按钮 @removed 4.0 */
|
|
307
|
+
enableMessage?: boolean;
|
|
308
|
+
/** 自定义短信内容(完整短信 = 自定义内容 + 位置链接,最长 140 字) @removed 4.0 */
|
|
309
|
+
message?: string;
|
|
310
|
+
/** 最大化时显示的内容,支持 HTML */
|
|
311
|
+
maxContent?: string;
|
|
312
|
+
/** 开启最大化功能 @default false */
|
|
313
|
+
enableMaximize?: boolean;
|
|
314
|
+
/** 是否开启信息窗内的搜索工具(查看周边等),4.0/GL;构造时生效 @default false,2.0.3 新增 */
|
|
315
|
+
enableSearchTool?: boolean;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Symbol 构造函数的可选参数。
|
|
319
|
+
* Symbol 是矢量图标值对象(非 Overlay),用作 Marker 的 icon 参数。
|
|
320
|
+
*/
|
|
321
|
+
export interface SymbolOptions {
|
|
322
|
+
/** 锚点位置,相对于图标自身坐标系 */
|
|
323
|
+
anchor?: Size;
|
|
324
|
+
/** 填充颜色,支持十六进制、RGB、RGBA 等 */
|
|
325
|
+
fillColor?: string;
|
|
326
|
+
/** 填充透明度,取值范围 0-1 */
|
|
327
|
+
fillOpacity?: number;
|
|
328
|
+
/** 缩放比例 @default 1 */
|
|
329
|
+
scale?: number;
|
|
330
|
+
/** 旋转角度,单位度 */
|
|
331
|
+
rotation?: number;
|
|
332
|
+
/** 描边颜色 */
|
|
333
|
+
strokeColor?: string;
|
|
334
|
+
/** 描边透明度,取值范围 0-1 */
|
|
335
|
+
strokeOpacity?: number;
|
|
336
|
+
/** 描边线宽,未指定时与 scale 值相同 */
|
|
337
|
+
strokeWeight?: number;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Icon 构造函数的可选参数。Icon 是值对象(非 Overlay),用作 Marker 的 icon。
|
|
341
|
+
*/
|
|
342
|
+
export interface IconOptions {
|
|
343
|
+
/**
|
|
344
|
+
* 定位锚点,相对于图标左上角的偏移值。
|
|
345
|
+
* @deprecated 4.0 起不建议使用,请用 MarkerOptions#anchor 替代
|
|
346
|
+
*/
|
|
347
|
+
anchor?: Size;
|
|
348
|
+
/** 图片相对于可视区域的偏移值(等同 CSS background-position),用于 Sprites 切图 */
|
|
349
|
+
imageOffset?: Size;
|
|
350
|
+
/** 图片实际大小(等同 CSS background-size),用于 Sprites 逻辑大小 / 高清屏适配 */
|
|
351
|
+
imageSize?: Size;
|
|
352
|
+
/** 信息窗口定位锚点 @removed 4.0 */
|
|
353
|
+
infoWindowAnchor?: Size;
|
|
354
|
+
/** 打印图片 URL,仅对 IE6 有效 @removed 4.0 */
|
|
355
|
+
printImageUrl?: string;
|
|
356
|
+
/** 高分辨率屏幕图片资源集 @since 4.0 @hide */
|
|
357
|
+
srcset?: {
|
|
358
|
+
'2x': string;
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Hotspot 构造函数的可选参数。
|
|
363
|
+
* @removed 4.0 — Hotspot 整体在 v4 移除,仅 v3 可用。
|
|
364
|
+
*/
|
|
365
|
+
export interface HotspotOptions {
|
|
366
|
+
/** 提示文本 */
|
|
367
|
+
text?: string;
|
|
368
|
+
/** 扩展偏移 [top, right, bottom, left],默认 [5, 5, 5, 5] */
|
|
369
|
+
offsets?: number[];
|
|
370
|
+
/** 自定义数据 */
|
|
371
|
+
userData?: unknown;
|
|
372
|
+
/** 最小缩放级别 */
|
|
373
|
+
minZoom?: number;
|
|
374
|
+
/** 最大缩放级别 */
|
|
375
|
+
maxZoom?: number;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* CustomOverlay 构造函数的可选参数。@since 4.0。
|
|
379
|
+
* React 组件通过 children 渲染 DOM 内容,内部转换为 SDK 需要的 domCreate。
|
|
380
|
+
*/
|
|
381
|
+
export interface CustomOverlayOptions {
|
|
382
|
+
/** 地理坐标点 */
|
|
383
|
+
point?: Point;
|
|
384
|
+
/** 锚点 [x, y],左上角 [0,0],取值 [0,1] @default [0.5, 1] */
|
|
385
|
+
anchors?: [number, number];
|
|
386
|
+
/** X 轴偏移(px) @default 0 */
|
|
387
|
+
offsetX?: number;
|
|
388
|
+
/** Y 轴偏移(px) @default 0 */
|
|
389
|
+
offsetY?: number;
|
|
390
|
+
/** 旋转角度(度) @default 0 */
|
|
391
|
+
rotation?: number;
|
|
392
|
+
/** 初始旋转基准角度,最终角度 = rotationOrigin + 地图朝向 @default 0 */
|
|
393
|
+
rotationInit?: number;
|
|
394
|
+
/** 最小缩放级别 */
|
|
395
|
+
minZoom?: number;
|
|
396
|
+
/** 最大缩放级别 */
|
|
397
|
+
maxZoom?: number;
|
|
398
|
+
/** 自定义业务属性 */
|
|
399
|
+
properties?: unknown;
|
|
400
|
+
/** DOM 固定在底部 @default false */
|
|
401
|
+
fixBottom?: boolean;
|
|
402
|
+
/** 使用 translate3d 性能优化 @default false */
|
|
403
|
+
useTranslate?: boolean;
|
|
404
|
+
/** 随地图旋转 @default false */
|
|
405
|
+
autoFollowHeadingChanged?: boolean;
|
|
406
|
+
/** 层叠顺序 @default 0 */
|
|
407
|
+
zIndex?: number;
|
|
408
|
+
/** 是否在 map.clearOverlays() 时清除 @since 4.0 @default true */
|
|
409
|
+
enableMassClear?: boolean;
|
|
410
|
+
/** 覆盖物上是否允许拖拽地图 @since 4.0 @default false */
|
|
411
|
+
enableDraggingMap?: boolean;
|
|
412
|
+
}
|
|
413
|
+
/** 所有 Overlay 组件共享的通用 props(不属于 SDK Options) */
|
|
414
|
+
export interface OverlayReactProps {
|
|
415
|
+
/** 控制覆盖物显示/隐藏(对应 SDK 的 show()/hide())。undefined 或 true = 显示,false = 隐藏 */
|
|
416
|
+
visible?: boolean;
|
|
417
|
+
}
|
|
418
|
+
export interface MarkerProps extends MarkerOptions, OverlayReactProps {
|
|
419
|
+
position: Point;
|
|
420
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
421
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
422
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
423
|
+
onDragStart?: (point: Point, raw: unknown) => void;
|
|
424
|
+
onDragging?: (point: Point, raw: unknown) => void;
|
|
425
|
+
onDragEnd?: (point: Point, raw: unknown) => void;
|
|
426
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
427
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
428
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
429
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
430
|
+
onRemove?: (point: Point, raw: unknown) => void;
|
|
431
|
+
}
|
|
432
|
+
export interface LabelProps extends LabelOptions, OverlayReactProps {
|
|
433
|
+
content: string;
|
|
434
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
435
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
436
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
437
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
438
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
439
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
440
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
441
|
+
onRemove?: (point: Point, raw: unknown) => void;
|
|
442
|
+
}
|
|
443
|
+
export interface PolylineProps extends PolylineOptions, EditNodeStyleOptions, OverlayReactProps {
|
|
444
|
+
path: Point[];
|
|
445
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
446
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
447
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
448
|
+
/** 右键双击 @since 4.0 */
|
|
449
|
+
onRightDoubleClick?: (point: Point, raw: unknown) => void;
|
|
450
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
451
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
452
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
453
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
454
|
+
onMouseMove?: (point: Point, raw: unknown) => void;
|
|
455
|
+
onRemove?: (point: Point, raw: unknown) => void;
|
|
456
|
+
/** 线更新 */
|
|
457
|
+
onLineUpdate?: (raw: unknown) => void;
|
|
458
|
+
/** 开始编辑 @since 4.0 */
|
|
459
|
+
onEditStart?: (raw: unknown) => void;
|
|
460
|
+
/** 编辑结束 @since 4.0 */
|
|
461
|
+
onEditEnd?: (raw: unknown) => void;
|
|
462
|
+
/** 开始拖拽编辑节点 @since 4.0 */
|
|
463
|
+
onLineVertexDragStart?: (raw: unknown) => void;
|
|
464
|
+
/** 拖拽编辑节点中 @since 4.0 */
|
|
465
|
+
onLineVertexDragging?: (raw: unknown) => void;
|
|
466
|
+
/** 拖拽编辑节点结束 @since 4.0 */
|
|
467
|
+
onLineVertexDragEnd?: (raw: unknown) => void;
|
|
468
|
+
/** 删除编辑节点 @since 4.0 */
|
|
469
|
+
onLineVertexDel?: (raw: unknown) => void;
|
|
470
|
+
}
|
|
471
|
+
export interface PolygonProps extends PolygonOptions, EditNodeStyleOptions, OverlayReactProps {
|
|
472
|
+
/**
|
|
473
|
+
* 多边形坐标点。单坐标串 Point[] 为普通多边形;
|
|
474
|
+
* 多坐标串 Point[][] 表示带洞/多环(第一环为外边界,后续环为镂空孔洞),对齐 JSAPI。
|
|
475
|
+
* 注意:多坐标串(镂空/多环)仅 4.0/GL 支持;3.0 传入多坐标串不渲染。
|
|
476
|
+
*/
|
|
477
|
+
path: Point[] | Point[][];
|
|
478
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
479
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
480
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
481
|
+
/** 右键双击 @since 4.0 */
|
|
482
|
+
onRightDoubleClick?: (point: Point, raw: unknown) => void;
|
|
483
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
484
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
485
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
486
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
487
|
+
onMouseMove?: (point: Point, raw: unknown) => void;
|
|
488
|
+
onRemove?: (point: Point, raw: unknown) => void;
|
|
489
|
+
/** 线更新 */
|
|
490
|
+
onLineUpdate?: (raw: unknown) => void;
|
|
491
|
+
/** 开始编辑 @since 4.0 */
|
|
492
|
+
onEditStart?: (raw: unknown) => void;
|
|
493
|
+
/** 编辑结束 @since 4.0 */
|
|
494
|
+
onEditEnd?: (raw: unknown) => void;
|
|
495
|
+
/** 开始拖拽编辑节点 @since 4.0 */
|
|
496
|
+
onLineVertexDragStart?: (raw: unknown) => void;
|
|
497
|
+
/** 拖拽编辑节点中 @since 4.0 */
|
|
498
|
+
onLineVertexDragging?: (raw: unknown) => void;
|
|
499
|
+
/** 拖拽编辑节点结束 @since 4.0 */
|
|
500
|
+
onLineVertexDragEnd?: (raw: unknown) => void;
|
|
501
|
+
/** 删除编辑节点 @since 4.0 */
|
|
502
|
+
onLineVertexDel?: (raw: unknown) => void;
|
|
503
|
+
}
|
|
504
|
+
export interface CircleProps extends CircleOptions, EditNodeStyleOptions, OverlayReactProps {
|
|
505
|
+
center: Point;
|
|
506
|
+
radius: number;
|
|
507
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
508
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
509
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
510
|
+
/** 右键双击 @since 4.0 */
|
|
511
|
+
onRightDoubleClick?: (point: Point, raw: unknown) => void;
|
|
512
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
513
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
514
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
515
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
516
|
+
onMouseMove?: (point: Point, raw: unknown) => void;
|
|
517
|
+
onRemove?: (point: Point, raw: unknown) => void;
|
|
518
|
+
/** 线更新 */
|
|
519
|
+
onLineUpdate?: (raw: unknown) => void;
|
|
520
|
+
/** 开始编辑 @since 4.0 */
|
|
521
|
+
onEditStart?: (raw: unknown) => void;
|
|
522
|
+
/** 编辑结束 @since 4.0 */
|
|
523
|
+
onEditEnd?: (raw: unknown) => void;
|
|
524
|
+
/** 开始拖拽编辑节点 @since 4.0 */
|
|
525
|
+
onLineVertexDragStart?: (raw: unknown) => void;
|
|
526
|
+
/** 拖拽编辑节点中 @since 4.0 */
|
|
527
|
+
onLineVertexDragging?: (raw: unknown) => void;
|
|
528
|
+
/** 拖拽编辑节点结束 @since 4.0 */
|
|
529
|
+
onLineVertexDragEnd?: (raw: unknown) => void;
|
|
530
|
+
/** 删除编辑节点 @since 4.0 */
|
|
531
|
+
onLineVertexDel?: (raw: unknown) => void;
|
|
532
|
+
}
|
|
533
|
+
/** Rectangle 事件对照 RectangleEventMap = GraphEventMap<Rectangle>(整体 @since 4.0) */
|
|
534
|
+
export interface RectangleProps extends RectangleOptions, EditNodeStyleOptions, OverlayReactProps {
|
|
535
|
+
bounds: Bounds;
|
|
536
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
537
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
538
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
539
|
+
onRightDoubleClick?: (point: Point, raw: unknown) => void;
|
|
540
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
541
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
542
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
543
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
544
|
+
onMouseMove?: (point: Point, raw: unknown) => void;
|
|
545
|
+
onRemove?: (point: Point, raw: unknown) => void;
|
|
546
|
+
/** 线更新 */
|
|
547
|
+
onLineUpdate?: (raw: unknown) => void;
|
|
548
|
+
/** 开始编辑 */
|
|
549
|
+
onEditStart?: (raw: unknown) => void;
|
|
550
|
+
/** 编辑结束 */
|
|
551
|
+
onEditEnd?: (raw: unknown) => void;
|
|
552
|
+
/** 开始拖拽编辑节点 */
|
|
553
|
+
onLineVertexDragStart?: (raw: unknown) => void;
|
|
554
|
+
/** 拖拽编辑节点中 */
|
|
555
|
+
onLineVertexDragging?: (raw: unknown) => void;
|
|
556
|
+
/** 拖拽编辑节点结束 */
|
|
557
|
+
onLineVertexDragEnd?: (raw: unknown) => void;
|
|
558
|
+
/** 删除编辑节点 */
|
|
559
|
+
onLineVertexDel?: (raw: unknown) => void;
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* BezierCurve 事件对照 BezierCurveEventMap
|
|
563
|
+
* = Omit<GraphEventMap<BezierCurve>, editstart|editend|linevertex*>(整体 @since 4.0)。
|
|
564
|
+
* 即:无编辑相关事件。
|
|
565
|
+
*/
|
|
566
|
+
export interface BezierCurveProps extends BezierCurveOptions, EditNodeStyleOptions, OverlayReactProps {
|
|
567
|
+
/** 路径点数组,至少两个点 */
|
|
568
|
+
path: Point[];
|
|
569
|
+
/** 控制点数组,每两个路径点之间 1~2 个控制点,组数应为 path.length - 1,如 [[cp1, cp2], [cp3]] */
|
|
570
|
+
controlPoints: Point[][];
|
|
571
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
572
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
573
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
574
|
+
onRightDoubleClick?: (point: Point, raw: unknown) => void;
|
|
575
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
576
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
577
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
578
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
579
|
+
onMouseMove?: (point: Point, raw: unknown) => void;
|
|
580
|
+
onRemove?: (point: Point, raw: unknown) => void;
|
|
581
|
+
/** 节点数据变化 */
|
|
582
|
+
onLineUpdate?: (raw: unknown) => void;
|
|
583
|
+
}
|
|
584
|
+
/**
|
|
585
|
+
* Prism 事件对照 PrismEventMap
|
|
586
|
+
* = Omit<GraphEventMap<Prism>, editstart|editend|linevertex*>(整体 @since 4.0)。
|
|
587
|
+
* 即:无编辑相关事件。
|
|
588
|
+
*/
|
|
589
|
+
export interface PrismProps extends PrismOptions, OverlayReactProps {
|
|
590
|
+
/**
|
|
591
|
+
* 底面多边形坐标点。单坐标串 Point[],或多坐标串 Point[][]。
|
|
592
|
+
* 注意:SDK 的 setPath() 只接受单坐标串,多坐标串仅 constructor 支持,
|
|
593
|
+
* 因此传 Point[][] 时后续修改需要通过 key 重新挂载组件才能生效。
|
|
594
|
+
*/
|
|
595
|
+
path: Point[] | Point[][];
|
|
596
|
+
/** 棱柱高度,单位米(SDK 必填参数) */
|
|
597
|
+
altitude: number;
|
|
598
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
599
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
600
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
601
|
+
onRightDoubleClick?: (point: Point, raw: unknown) => void;
|
|
602
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
603
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
604
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
605
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
606
|
+
onMouseMove?: (point: Point, raw: unknown) => void;
|
|
607
|
+
onRemove?: (point: Point, raw: unknown) => void;
|
|
608
|
+
/** 节点数据变化 */
|
|
609
|
+
onLineUpdate?: (raw: unknown) => void;
|
|
610
|
+
}
|
|
611
|
+
/**
|
|
612
|
+
* GroundOverlay 事件对照 GroundOverlayEventMap。
|
|
613
|
+
* 只有 click / dblclick / remove 是 v3 起就有,其余均 @since 4.0。
|
|
614
|
+
* 注意它不是 GraphEventMap,没有编辑相关事件。
|
|
615
|
+
*/
|
|
616
|
+
export interface GroundOverlayProps extends GroundOverlayOptions, OverlayReactProps {
|
|
617
|
+
/** 叠加层显示的矩形区域 */
|
|
618
|
+
bounds: Bounds;
|
|
619
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
620
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
621
|
+
/** @since 4.0 */
|
|
622
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
623
|
+
/** @since 4.0 */
|
|
624
|
+
onRightDoubleClick?: (point: Point, raw: unknown) => void;
|
|
625
|
+
/** @since 4.0 */
|
|
626
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
627
|
+
/** @since 4.0 */
|
|
628
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
629
|
+
/** @since 4.0 */
|
|
630
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
631
|
+
/** @since 4.0 */
|
|
632
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
633
|
+
/** @since 4.0 */
|
|
634
|
+
onMouseMove?: (point: Point, raw: unknown) => void;
|
|
635
|
+
onRemove?: (point: Point, raw: unknown) => void;
|
|
636
|
+
/** 渲染数据发生变化 @since 4.0 */
|
|
637
|
+
onLineUpdate?: (raw: unknown) => void;
|
|
638
|
+
}
|
|
639
|
+
/**
|
|
640
|
+
* GroundPoint 事件对照 GroundOverlayEventMap(SDK 未定义 GroundPointEventMap,
|
|
641
|
+
* 类继承 GroundOverlay,事件沿用了同一套)。
|
|
642
|
+
* GroundPoint 整体 @since 4.0,故全部事件均为 v4+。
|
|
643
|
+
*/
|
|
644
|
+
export interface GroundPointProps extends GroundPointOptions, OverlayReactProps {
|
|
645
|
+
/** 地理坐标点 */
|
|
646
|
+
point: Point;
|
|
647
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
648
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
649
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
650
|
+
onRightDoubleClick?: (point: Point, raw: unknown) => void;
|
|
651
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
652
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
653
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
654
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
655
|
+
onMouseMove?: (point: Point, raw: unknown) => void;
|
|
656
|
+
onRemove?: (point: Point, raw: unknown) => void;
|
|
657
|
+
/** 渲染数据发生变化 */
|
|
658
|
+
onLineUpdate?: (raw: unknown) => void;
|
|
659
|
+
}
|
|
660
|
+
/**
|
|
661
|
+
* PointCollection 事件对照 PointCollectionEventMap。
|
|
662
|
+
* 整体 @removed 4.0,仅 v3 可用;事件对象只有 { type, target, point }。
|
|
663
|
+
*/
|
|
664
|
+
export interface PointCollectionProps extends PointCollectionOptions, OverlayReactProps {
|
|
665
|
+
/** 点的坐标集合 */
|
|
666
|
+
points: Point[];
|
|
667
|
+
/** 继承自 Overlay 类(SDK 的 PointCollectionOptions 未列出,但类上有 enable/disableMassClear) */
|
|
668
|
+
enableMassClear?: boolean;
|
|
669
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
670
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
671
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
672
|
+
}
|
|
673
|
+
/**
|
|
674
|
+
* Marker3D — 3D 标注。@since 4.0(WebGL only)。
|
|
675
|
+
* SDK: constructor(point, height, { shape, size, fillColor, fillOpacity, enableMassClear })
|
|
676
|
+
* setter: setPosition/setHeight/setFillColor/setFillOpacity;shape/size 无 setter(重建)
|
|
677
|
+
*/
|
|
678
|
+
export interface Marker3DOptions {
|
|
679
|
+
/** 形状:1=circle, 2=rect(构造函数,无 setter) */
|
|
680
|
+
shape?: number;
|
|
681
|
+
/** 像素大小(构造函数,无 setter) */
|
|
682
|
+
size?: number;
|
|
683
|
+
/** 填充颜色 */
|
|
684
|
+
fillColor?: string;
|
|
685
|
+
/** 填充透明度 0-1 */
|
|
686
|
+
fillOpacity?: number;
|
|
687
|
+
enableMassClear?: boolean;
|
|
688
|
+
}
|
|
689
|
+
export interface Marker3DProps extends Marker3DOptions, OverlayReactProps {
|
|
690
|
+
position: Point;
|
|
691
|
+
height: number;
|
|
692
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
693
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
694
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
695
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
696
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
697
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
698
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
699
|
+
}
|
|
700
|
+
/**
|
|
701
|
+
* InfoWindow 事件对照 InfoWindowEventMap。
|
|
702
|
+
* 全部 6 个事件都是 OverlayBaseEvent(仅含 type/target/currentTarget,无 point/pixel)。
|
|
703
|
+
*/
|
|
704
|
+
export interface InfoWindowProps extends InfoWindowOptions, OverlayReactProps {
|
|
705
|
+
/** 窗口内容,支持 HTML 字符串或 DOM 节点 */
|
|
706
|
+
content: string | HTMLElement;
|
|
707
|
+
/** 受控:true=打开, false=关闭。不传则 mount 时自动打开。 */
|
|
708
|
+
open?: boolean;
|
|
709
|
+
/** 地图级打开位置(不在 Marker 内嵌时必传) */
|
|
710
|
+
position?: Point;
|
|
711
|
+
/** 信息窗口打开时触发 */
|
|
712
|
+
onOpen?: (raw: unknown) => void;
|
|
713
|
+
/** 信息窗口关闭时触发(含 X 按钮关闭) */
|
|
714
|
+
onClose?: (raw: unknown) => void;
|
|
715
|
+
/** 点击信息窗口关闭按钮时触发 */
|
|
716
|
+
onClickClose?: (raw: unknown) => void;
|
|
717
|
+
/** 信息窗口最大化时触发,需开启 enableMaximize */
|
|
718
|
+
onMaximize?: (raw: unknown) => void;
|
|
719
|
+
/** 信息窗口从最大化恢复时触发 */
|
|
720
|
+
onRestore?: (raw: unknown) => void;
|
|
721
|
+
/** 信息窗口尺寸变化时触发 */
|
|
722
|
+
onResize?: (raw: unknown) => void;
|
|
723
|
+
}
|
|
724
|
+
/**
|
|
725
|
+
* Symbol 是值对象(非 Overlay),无事件。
|
|
726
|
+
* path 为 SVG path 字符串或预定义符号常量(BMap_Symbol_SHAPE_*)。
|
|
727
|
+
*/
|
|
728
|
+
export interface SymbolProps extends SymbolOptions, OverlayReactProps {
|
|
729
|
+
path: string | number;
|
|
730
|
+
}
|
|
731
|
+
/**
|
|
732
|
+
* Icon 是值对象(非 Overlay),无事件。
|
|
733
|
+
* url 和 size 是 constructor 的前两个位置参数,但也有 setter(setImageUrl/setSize)可响应式更新。
|
|
734
|
+
*/
|
|
735
|
+
export interface IconProps extends IconOptions, OverlayReactProps {
|
|
736
|
+
url: string;
|
|
737
|
+
size: Size;
|
|
738
|
+
}
|
|
739
|
+
/**
|
|
740
|
+
* IconSequence 用于在 Polyline 上重复显示符号(如箭头)。
|
|
741
|
+
* @deprecated 4.0 已废弃,请使用 PolylineOptions#strokeTexture 替代。
|
|
742
|
+
* constructor: new BMap.IconSequence(symbol, offset, repeat, fixedRotation)。
|
|
743
|
+
* 全部参数都是 constructor 位置参数,无 setter — 变化时重建。
|
|
744
|
+
* 无事件(值对象,非 Overlay)。
|
|
745
|
+
*/
|
|
746
|
+
export interface IconSequenceProps extends OverlayReactProps {
|
|
747
|
+
/** 符号样式(Symbol Handle 或 SDK Symbol 实例) */
|
|
748
|
+
symbol?: SymbolIcon | OverlayHandle;
|
|
749
|
+
/** 符号相对于线起点的位置,百分比(如 '50%')或像素值 */
|
|
750
|
+
offset?: string;
|
|
751
|
+
/** 符号在线上重复显示的间距,百分比或像素值;与 offset 同时设置时以 repeat 为准 */
|
|
752
|
+
repeat?: string;
|
|
753
|
+
/** 图标旋转角度是否与线走向一致 */
|
|
754
|
+
fixedRotation?: boolean;
|
|
755
|
+
}
|
|
756
|
+
/**
|
|
757
|
+
* Hotspot 是值对象(非 Overlay),@removed 4.0,仅 v3 可用。
|
|
758
|
+
* 通过 map.addHotspot/removeHotspot 管理,不走 addOverlay。
|
|
759
|
+
* 无事件(SDK 未定义 HotspotEventMap)。
|
|
760
|
+
*/
|
|
761
|
+
export interface HotspotProps extends HotspotOptions, OverlayReactProps {
|
|
762
|
+
position: Point;
|
|
763
|
+
}
|
|
764
|
+
/**
|
|
765
|
+
* CustomOverlay 事件对照 CustomOverlayEventMap。@since 4.0。
|
|
766
|
+
* children 会被渲染到 SDK 自定义覆盖物的 DOM 容器内。
|
|
767
|
+
*/
|
|
768
|
+
export interface CustomOverlayProps extends CustomOverlayOptions, OverlayReactProps {
|
|
769
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
770
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
771
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
772
|
+
}
|
|
773
|
+
/**
|
|
774
|
+
* Marker3D — 3D 标注。@since 4.0(WebGL only)。
|
|
775
|
+
* SDK: constructor(point, height, { shape, size, fillColor, fillOpacity, enableMassClear })
|
|
776
|
+
* setter: setPosition/setHeight/setFillColor/setFillOpacity;shape/size 无 setter(重建)
|
|
777
|
+
*/
|
|
778
|
+
export interface Marker3DOptions {
|
|
779
|
+
/** 形状:1=circle, 2=rect(构造函数,无 setter) */
|
|
780
|
+
shape?: number;
|
|
781
|
+
/** 像素大小(构造函数,无 setter) */
|
|
782
|
+
size?: number;
|
|
783
|
+
/** 填充颜色 */
|
|
784
|
+
fillColor?: string;
|
|
785
|
+
/** 填充透明度 0-1 */
|
|
786
|
+
fillOpacity?: number;
|
|
787
|
+
enableMassClear?: boolean;
|
|
788
|
+
}
|
|
789
|
+
export interface Marker3DProps extends Marker3DOptions, OverlayReactProps {
|
|
790
|
+
position: Point;
|
|
791
|
+
height: number;
|
|
792
|
+
onClick?: (point: Point, raw: unknown) => void;
|
|
793
|
+
onDoubleClick?: (point: Point, raw: unknown) => void;
|
|
794
|
+
onRightClick?: (point: Point, raw: unknown) => void;
|
|
795
|
+
onMouseOver?: (point: Point, raw: unknown) => void;
|
|
796
|
+
onMouseOut?: (point: Point, raw: unknown) => void;
|
|
797
|
+
onMouseDown?: (point: Point, raw: unknown) => void;
|
|
798
|
+
onMouseUp?: (point: Point, raw: unknown) => void;
|
|
799
|
+
}
|