@xingm/vmap-cesium-toolbar 0.0.5 → 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/README.md +126 -230
- package/dist/README.md +172 -0
- package/dist/adapters/DrawHelperAdapter.d.ts +143 -0
- package/dist/adapters/MapLoaderAdapter.d.ts +44 -0
- package/dist/adapters/OverlayServiceAdapter.d.ts +102 -0
- package/dist/adapters/ToolbarAdapter.d.ts +71 -0
- package/dist/adapters/index.d.ts +23 -0
- package/dist/components/BaseComponent.d.ts +116 -0
- package/dist/components/SearchBox.d.ts +136 -0
- package/dist/components/Toolbar.d.ts +115 -0
- package/dist/components/ToolbarButton.d.ts +100 -0
- package/dist/components/index.d.ts +33 -0
- package/dist/core/MapPlugin.d.ts +160 -0
- package/dist/core/constants.d.ts +88 -0
- package/dist/core/entities/BaseOverlay.d.ts +156 -0
- package/dist/core/entities/Circle.d.ts +102 -0
- package/dist/core/entities/Icon.d.ts +86 -0
- package/dist/core/entities/InfoWindow.d.ts +116 -0
- package/dist/core/entities/Label.d.ts +92 -0
- package/dist/core/entities/Marker.d.ts +66 -0
- package/dist/core/entities/Polygon.d.ts +93 -0
- package/dist/core/entities/Polyline.d.ts +72 -0
- package/dist/core/entities/Rectangle.d.ts +99 -0
- package/dist/core/entities/Ring.d.ts +114 -0
- package/dist/core/entities/SVG.d.ts +89 -0
- package/dist/core/entities/index.d.ts +27 -0
- package/dist/core/index.d.ts +25 -0
- package/dist/core/layers/BaiduMapLayer.d.ts +37 -0
- package/dist/core/layers/CustomMapLayer.d.ts +43 -0
- package/dist/core/layers/GaodeMapLayer.d.ts +41 -0
- package/dist/core/layers/HeatmapLayer.d.ts +118 -0
- package/dist/core/layers/MapLayer.d.ts +37 -0
- package/dist/core/layers/OSMMapLayer.d.ts +37 -0
- package/dist/core/layers/PointClusterLayer.d.ts +119 -0
- package/dist/core/layers/TDTMapLayer.d.ts +45 -0
- package/dist/core/layers/index.d.ts +15 -0
- package/dist/core/services/draw/DrawInteractionController.d.ts +16 -0
- package/dist/core/services/draw/DrawService.d.ts +38 -0
- package/dist/core/services/draw/DrawSessionStore.d.ts +28 -0
- package/dist/core/services/draw/drawDefaults.d.ts +16 -0
- package/dist/core/services/draw/entities/drawEntityFactory.d.ts +10 -0
- package/dist/core/services/draw/entities/drawEntityRegistry.d.ts +8 -0
- package/dist/core/services/draw/entities/drawFinalFactory.d.ts +14 -0
- package/dist/core/services/draw/entities/drawPreviewFactory.d.ts +15 -0
- package/dist/core/services/draw/geometry/drawGeometry.d.ts +11 -0
- package/dist/core/services/draw/geometry/drawPosition.d.ts +6 -0
- package/dist/core/services/draw/index.d.ts +7 -0
- package/dist/core/services/draw/labels/drawHint.d.ts +16 -0
- package/dist/core/services/draw/labels/measurementCanvas.d.ts +8 -0
- package/dist/core/services/draw/labels/measurementLabelFactory.d.ts +18 -0
- package/dist/core/services/draw/measurementThemeResolver.d.ts +9 -0
- package/dist/core/services/draw/types/drawState.d.ts +37 -0
- package/dist/core/services/draw/types/drawTypes.d.ts +97 -0
- package/dist/core/services/index.d.ts +10 -0
- package/dist/core/services/overlay/OverlayService.d.ts +188 -0
- package/dist/core/services/overlay/index.d.ts +7 -0
- package/dist/core/services/toolbar/ToolbarService.d.ts +175 -0
- package/dist/core/services/toolbar/buttons/BaseButtonHandler.d.ts +111 -0
- package/dist/core/services/toolbar/buttons/LayersButtonHandler.d.ts +47 -0
- package/dist/core/services/toolbar/buttons/MeasureButtonHandler.d.ts +94 -0
- package/dist/core/services/toolbar/buttons/SearchButtonHandler.d.ts +111 -0
- package/dist/core/services/toolbar/buttons/SimpleButtonHandler.d.ts +79 -0
- package/dist/core/services/toolbar/config.d.ts +7 -0
- package/dist/core/services/toolbar/index.d.ts +30 -0
- package/dist/core/services/toolbar/menus/BaseMenu.d.ts +99 -0
- package/dist/core/services/toolbar/menus/MeasureMenu.d.ts +44 -0
- package/dist/core/services/toolbar/types.d.ts +198 -0
- package/dist/core/types.d.ts +586 -0
- package/dist/i18n/en-US.d.ts +46 -0
- package/dist/i18n/index.d.ts +45 -2
- package/dist/i18n/zh-CN.d.ts +46 -0
- package/dist/index.d.ts +37 -42
- package/dist/index.es.js +7056 -9844
- package/dist/index.es.js.map +1 -1
- package/dist/libs/CesiumMapModel.d.ts +1 -172
- package/dist/libs/CesiumMapToolbar.d.ts +1 -1
- package/dist/libs/CesiumOverlayService.d.ts +9 -222
- package/dist/libs/config/CesiumMapConfig.d.ts +5 -12
- package/dist/libs/drawHelper/DrawHint.d.ts +15 -27
- package/dist/libs/drawHelper/index.d.ts +67 -6
- package/dist/libs/toolBar/CesiumMapController.d.ts +38 -64
- package/dist/libs/toolBar/MapLayersService.d.ts +10 -61
- package/dist/libs/toolBar/MapSearchService.d.ts +8 -29
- package/dist/libs/toolBar/MapToolBarConfig.d.ts +33 -5
- package/dist/libs/toolBar/MeasurementService.d.ts +13 -5
- package/dist/libs/toolBar/NotFlyZonesService.d.ts +6 -41
- package/dist/package.json +19 -6
- package/dist/styles/ComponentStyles.d.ts +82 -0
- package/dist/styles/StyleManager.d.ts +142 -0
- package/dist/styles/index.d.ts +128 -0
- package/dist/utils/common.d.ts +4 -0
- package/package.json +1 -1
- package/dist/hooks/toolBarConfig.d.ts +0 -75
- package/dist/hooks/useDrawHelper.d.ts +0 -24
- package/dist/hooks/useDynamicRing.d.ts +0 -44
- package/dist/hooks/useHeatmapHelper.d.ts +0 -18
- package/dist/hooks/useMap.d.ts +0 -14
- package/dist/hooks/useMapInit.d.ts +0 -14
- package/dist/hooks/useOverlayHelper.d.ts +0 -48
- package/dist/hooks/usePointClusterHelper.d.ts +0 -14
- package/dist/index.umd.js +0 -326
- package/dist/index.umd.js.map +0 -1
- package/dist/libs/drawHelper/BaseDraw.d.ts +0 -194
- package/dist/libs/drawHelper/DrawCircle.d.ts +0 -31
- package/dist/libs/drawHelper/DrawLine.d.ts +0 -49
- package/dist/libs/drawHelper/DrawPolgon.d.ts +0 -35
- package/dist/libs/drawHelper/DrawRectangle.d.ts +0 -24
- package/dist/libs/i18n/en-US.d.ts +0 -69
- package/dist/libs/i18n/index.d.ts +0 -25
- package/dist/libs/i18n/zh-CN.d.ts +0 -69
- package/dist/libs/overlay/MapCircle.d.ts +0 -130
- package/dist/libs/overlay/MapIcon.d.ts +0 -69
- package/dist/libs/overlay/MapInfoWindow.d.ts +0 -100
- package/dist/libs/overlay/MapLabel.d.ts +0 -73
- package/dist/libs/overlay/MapMarker.d.ts +0 -60
- package/dist/libs/overlay/MapPolygon.d.ts +0 -114
- package/dist/libs/overlay/MapPolyline.d.ts +0 -64
- package/dist/libs/overlay/MapRectangle.d.ts +0 -101
- package/dist/libs/overlay/MapRing.d.ts +0 -107
- package/dist/libs/overlay/MapSVG.d.ts +0 -73
- package/dist/libs/overlay/OverlayEditController.d.ts +0 -166
- package/dist/libs/overlay/OverlayEditHandles.d.ts +0 -101
- package/dist/libs/overlay/OverlayHighlight.d.ts +0 -40
- package/dist/libs/overlay/index.d.ts +0 -23
- package/dist/libs/overlay/primitives/CirclePrimitiveBatch.d.ts +0 -42
- package/dist/libs/overlay/primitives/CirclePrimitiveLayerStack.d.ts +0 -24
- package/dist/libs/overlay/primitives/PolygonPrimitiveBatch.d.ts +0 -43
- package/dist/libs/overlay/primitives/PolygonPrimitiveLayerStack.d.ts +0 -24
- package/dist/libs/overlay/primitives/RectanglePrimitiveBatch.d.ts +0 -41
- package/dist/libs/overlay/primitives/RectanglePrimitiveLayerStack.d.ts +0 -24
- package/dist/libs/overlay/types.d.ts +0 -121
- package/dist/z.const.d.ts +0 -24
- /package/dist/{libs → utils}/PickGovernor.d.ts +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Viewer, Color, MaterialProperty, HeightReference } from '../../../node_modules/cesium';
|
|
2
|
+
import { BaseOverlay, BaseOverlayOptions } from './BaseOverlay';
|
|
3
|
+
import * as Cesium from 'cesium';
|
|
4
|
+
/**
|
|
5
|
+
* Rectangle 配置选项
|
|
6
|
+
*/
|
|
7
|
+
export interface RectangleOptions extends BaseOverlayOptions {
|
|
8
|
+
/** 矩形坐标范围 */
|
|
9
|
+
coordinates: Cesium.Rectangle;
|
|
10
|
+
/** 填充材质 */
|
|
11
|
+
material?: MaterialProperty | Color | string;
|
|
12
|
+
/** 是否显示边框(默认 true) */
|
|
13
|
+
outline?: boolean;
|
|
14
|
+
/** 边框颜色 */
|
|
15
|
+
outlineColor?: Color | string;
|
|
16
|
+
/** 边框宽度(默认 1) */
|
|
17
|
+
outlineWidth?: number;
|
|
18
|
+
/** 是否贴地(默认 true) */
|
|
19
|
+
clampToGround?: boolean;
|
|
20
|
+
/** 贴地抬高量(米,clampToGround=true 时生效) */
|
|
21
|
+
groundHeightEpsilon?: number;
|
|
22
|
+
/** 基准高度(米,clampToGround=false 时有效) */
|
|
23
|
+
height?: number;
|
|
24
|
+
/** 高度参考 */
|
|
25
|
+
heightReference?: HeightReference;
|
|
26
|
+
/** 拉伸高度 */
|
|
27
|
+
extrudedHeight?: number;
|
|
28
|
+
/** 兼容旧版渲染模式配置 */
|
|
29
|
+
renderMode?: 'auto' | 'entity' | 'primitive';
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Rectangle 矩形类
|
|
33
|
+
*
|
|
34
|
+
* 用于在地图上创建矩形区域,支持自定义填充、边框和贴地属性。
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const rectangle = new Rectangle(viewer, {
|
|
39
|
+
* coordinates: Cesium.Rectangle.fromDegrees(120, 30, 121, 31),
|
|
40
|
+
* material: 'rgba(0, 255, 0, 0.3)',
|
|
41
|
+
* outline: true,
|
|
42
|
+
* outlineColor: '#00FF00'
|
|
43
|
+
* });
|
|
44
|
+
* viewer.entities.add(rectangle.getEntity());
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare class Rectangle extends BaseOverlay {
|
|
48
|
+
private rectangleOptions;
|
|
49
|
+
private innerEntity?;
|
|
50
|
+
constructor(viewer: Viewer, options: RectangleOptions);
|
|
51
|
+
/**
|
|
52
|
+
* 创建粗边框矩形(环形)
|
|
53
|
+
*/
|
|
54
|
+
private createThickRectangle;
|
|
55
|
+
/**
|
|
56
|
+
* 创建 RectangleGraphics 对象
|
|
57
|
+
*/
|
|
58
|
+
private createRectangleGraphics;
|
|
59
|
+
/**
|
|
60
|
+
* 将 Rectangle 转为四点多边形顶点
|
|
61
|
+
*/
|
|
62
|
+
private rectangleToPositions;
|
|
63
|
+
/**
|
|
64
|
+
* 按米单位向内收缩矩形边界
|
|
65
|
+
*/
|
|
66
|
+
private shrinkRectangle;
|
|
67
|
+
/**
|
|
68
|
+
* 解析材质
|
|
69
|
+
*/
|
|
70
|
+
private resolveMaterial;
|
|
71
|
+
/**
|
|
72
|
+
* 解析颜色值
|
|
73
|
+
*/
|
|
74
|
+
private resolveColor;
|
|
75
|
+
/**
|
|
76
|
+
* 更新 Rectangle 配置
|
|
77
|
+
*/
|
|
78
|
+
update(options: Partial<RectangleOptions>): void;
|
|
79
|
+
/**
|
|
80
|
+
* 更新坐标
|
|
81
|
+
*/
|
|
82
|
+
setCoordinates(coordinates: Cesium.Rectangle): void;
|
|
83
|
+
/**
|
|
84
|
+
* 更新坐标(内部方法)
|
|
85
|
+
*/
|
|
86
|
+
private updateCoordinates;
|
|
87
|
+
/**
|
|
88
|
+
* 获取矩形坐标
|
|
89
|
+
*/
|
|
90
|
+
getCoordinates(): Cesium.Rectangle | null;
|
|
91
|
+
/**
|
|
92
|
+
* 获取矩形样式
|
|
93
|
+
*/
|
|
94
|
+
getStyle(): Partial<RectangleOptions>;
|
|
95
|
+
/**
|
|
96
|
+
* 从场景中移除矩形
|
|
97
|
+
*/
|
|
98
|
+
remove(): void;
|
|
99
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Viewer, Color } from '../../../node_modules/cesium';
|
|
2
|
+
import { BaseOverlay, BaseOverlayOptions, OverlayPosition } from './BaseOverlay';
|
|
3
|
+
/**
|
|
4
|
+
* Ring 配置选项
|
|
5
|
+
*/
|
|
6
|
+
export interface RingOptions extends BaseOverlayOptions {
|
|
7
|
+
/** 中心点位置 */
|
|
8
|
+
position: OverlayPosition;
|
|
9
|
+
/** 半径(米) */
|
|
10
|
+
radius: number;
|
|
11
|
+
/** 发光颜色 */
|
|
12
|
+
color?: Color | string;
|
|
13
|
+
/** 是否显示内层线(默认 true) */
|
|
14
|
+
showInnerLine?: boolean;
|
|
15
|
+
/** 内层线颜色 */
|
|
16
|
+
lineColor?: Color | string;
|
|
17
|
+
/** 内层线型(默认 'solid') */
|
|
18
|
+
lineStyle?: 'solid' | 'dashed';
|
|
19
|
+
/** 虚线材质模式(默认 'stripe') */
|
|
20
|
+
lineMaterialMode?: 'stripe' | 'dash';
|
|
21
|
+
/** 条纹重复次数(默认 32) */
|
|
22
|
+
stripeRepeat?: number;
|
|
23
|
+
/** 虚线长度(默认 16) */
|
|
24
|
+
dashLength?: number;
|
|
25
|
+
/** 虚线模式(16bit pattern) */
|
|
26
|
+
dashPattern?: number;
|
|
27
|
+
/** 间隙颜色 */
|
|
28
|
+
gapColor?: Color | string;
|
|
29
|
+
/** 外环宽度(默认 8) */
|
|
30
|
+
width?: number;
|
|
31
|
+
/** 兼容旧版边线宽度配置 */
|
|
32
|
+
lineWidth?: number;
|
|
33
|
+
/** 发光强度(0-1,默认 0.25) */
|
|
34
|
+
glowPower?: number;
|
|
35
|
+
/** 是否贴地(默认 true) */
|
|
36
|
+
clampToGround?: boolean;
|
|
37
|
+
/** 贴地抬高量(米) */
|
|
38
|
+
groundHeightEpsilon?: number;
|
|
39
|
+
/** 圆环分段数(默认 128) */
|
|
40
|
+
segments?: number;
|
|
41
|
+
/** 兼容旧版发光宽度配置 */
|
|
42
|
+
glowWidth?: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Ring 发光圆环类
|
|
46
|
+
*
|
|
47
|
+
* 用于在地图上创建边缘发光的圆环效果。
|
|
48
|
+
* 使用 PolylineGlowMaterialProperty 实现发光效果。
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const ring = new Ring(viewer, {
|
|
53
|
+
* position: [120.1, 30.2],
|
|
54
|
+
* radius: 1000,
|
|
55
|
+
* color: '#00FFFF',
|
|
56
|
+
* glowPower: 0.5,
|
|
57
|
+
* width: 10
|
|
58
|
+
* });
|
|
59
|
+
* viewer.entities.add(ring.getEntity());
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare class Ring extends BaseOverlay {
|
|
63
|
+
private ringOptions;
|
|
64
|
+
private innerEntity?;
|
|
65
|
+
constructor(viewer: Viewer, options: RingOptions);
|
|
66
|
+
/**
|
|
67
|
+
* 创建发光圆环
|
|
68
|
+
*/
|
|
69
|
+
private createRing;
|
|
70
|
+
/**
|
|
71
|
+
* 创建内层线材质
|
|
72
|
+
*/
|
|
73
|
+
private createLineMaterial;
|
|
74
|
+
/**
|
|
75
|
+
* 生成近似圆顶点
|
|
76
|
+
*/
|
|
77
|
+
private generateCirclePositions;
|
|
78
|
+
/**
|
|
79
|
+
* 解析颜色值
|
|
80
|
+
*/
|
|
81
|
+
private resolveColor;
|
|
82
|
+
/**
|
|
83
|
+
* 更新 Ring 配置
|
|
84
|
+
*/
|
|
85
|
+
update(options: Partial<RingOptions>): void;
|
|
86
|
+
/**
|
|
87
|
+
* 重建内层线
|
|
88
|
+
*/
|
|
89
|
+
private rebuildInnerLine;
|
|
90
|
+
/**
|
|
91
|
+
* 更新几何形状
|
|
92
|
+
*/
|
|
93
|
+
private updateGeometry;
|
|
94
|
+
/**
|
|
95
|
+
* 更新位置
|
|
96
|
+
*/
|
|
97
|
+
setPosition(position: OverlayPosition): void;
|
|
98
|
+
/**
|
|
99
|
+
* 更新半径
|
|
100
|
+
*/
|
|
101
|
+
setRadius(radius: number): void;
|
|
102
|
+
/**
|
|
103
|
+
* 获取位置(经纬度)
|
|
104
|
+
*/
|
|
105
|
+
getPosition(): [number, number] | null;
|
|
106
|
+
/**
|
|
107
|
+
* 获取半径
|
|
108
|
+
*/
|
|
109
|
+
getRadius(): number;
|
|
110
|
+
/**
|
|
111
|
+
* 从场景中移除圆环
|
|
112
|
+
*/
|
|
113
|
+
remove(): void;
|
|
114
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Viewer, Color, HeightReference, VerticalOrigin, HorizontalOrigin } from '../../../node_modules/cesium';
|
|
2
|
+
import { BaseOverlay, BaseOverlayOptions, OverlayPosition } from './BaseOverlay';
|
|
3
|
+
import * as Cesium from 'cesium';
|
|
4
|
+
/**
|
|
5
|
+
* SVG 配置选项
|
|
6
|
+
*/
|
|
7
|
+
export interface SvgOptions extends BaseOverlayOptions {
|
|
8
|
+
/** SVG 字符串 */
|
|
9
|
+
svg: string;
|
|
10
|
+
/** 宽度(像素) */
|
|
11
|
+
width?: number;
|
|
12
|
+
/** 高度(像素) */
|
|
13
|
+
height?: number;
|
|
14
|
+
/** 缩放比例(默认 1.0) */
|
|
15
|
+
scale?: number;
|
|
16
|
+
/** 旋转角度(弧度) */
|
|
17
|
+
rotation?: number;
|
|
18
|
+
/** 像素偏移 */
|
|
19
|
+
pixelOffset?: Cesium.Cartesian2;
|
|
20
|
+
/** 视线偏移 */
|
|
21
|
+
eyeOffset?: Cesium.Cartesian3;
|
|
22
|
+
/** 水平原点(默认 CENTER) */
|
|
23
|
+
horizontalOrigin?: HorizontalOrigin;
|
|
24
|
+
/** 垂直原点(默认 BOTTOM) */
|
|
25
|
+
verticalOrigin?: VerticalOrigin;
|
|
26
|
+
/** 高度参考(默认 NONE) */
|
|
27
|
+
heightReference?: HeightReference;
|
|
28
|
+
/** 禁用深度测试距离 */
|
|
29
|
+
disableDepthTestDistance?: number;
|
|
30
|
+
/** 颜色(可用于着色) */
|
|
31
|
+
color?: Color | string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* SVG 图标类
|
|
35
|
+
*
|
|
36
|
+
* 用于在地图上创建 SVG 图标标记,使用 Billboard 实现。
|
|
37
|
+
* 支持自定义 SVG 内容、大小、旋转、颜色等样式。
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const svg = new SVG(viewer, {
|
|
42
|
+
* position: [120.1, 30.2],
|
|
43
|
+
* svg: '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><circle cx="16" cy="16" r="14" fill="red"/></svg>',
|
|
44
|
+
* width: 32,
|
|
45
|
+
* height: 32
|
|
46
|
+
* });
|
|
47
|
+
* viewer.entities.add(svg.getEntity());
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare class SVG extends BaseOverlay {
|
|
51
|
+
private svgOptions;
|
|
52
|
+
constructor(viewer: Viewer, options: SvgOptions);
|
|
53
|
+
/**
|
|
54
|
+
* 将 SVG 字符串转换为 data URL
|
|
55
|
+
*/
|
|
56
|
+
private svgToDataUrl;
|
|
57
|
+
/**
|
|
58
|
+
* 创建 BillboardGraphics 对象
|
|
59
|
+
*/
|
|
60
|
+
private createBillboardGraphics;
|
|
61
|
+
/**
|
|
62
|
+
* 解析颜色值
|
|
63
|
+
*/
|
|
64
|
+
private resolveColor;
|
|
65
|
+
/**
|
|
66
|
+
* 更新 SVG 配置
|
|
67
|
+
*/
|
|
68
|
+
update(options: Partial<SvgOptions>): void;
|
|
69
|
+
/**
|
|
70
|
+
* 更新位置
|
|
71
|
+
*/
|
|
72
|
+
setPosition(position: OverlayPosition): void;
|
|
73
|
+
/**
|
|
74
|
+
* 更新 SVG 内容
|
|
75
|
+
*/
|
|
76
|
+
setSvg(svg: string): void;
|
|
77
|
+
/**
|
|
78
|
+
* 获取 SVG 字符串
|
|
79
|
+
*/
|
|
80
|
+
getSvg(): string;
|
|
81
|
+
/**
|
|
82
|
+
* 获取位置(经纬度)
|
|
83
|
+
*/
|
|
84
|
+
getPosition(): [number, number] | null;
|
|
85
|
+
/**
|
|
86
|
+
* 获取 SVG 样式
|
|
87
|
+
*/
|
|
88
|
+
getStyle(): Partial<SvgOptions>;
|
|
89
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 覆盖物实体模块入口
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
export { BaseOverlay } from './BaseOverlay';
|
|
7
|
+
export type { OverlayPosition, BaseOverlayOptions, OverlayClickHighlightOptions, OverlayHoverHighlightOptions, OverlayEntity, } from './BaseOverlay';
|
|
8
|
+
export { Marker } from './Marker';
|
|
9
|
+
export type { MarkerOptions } from './Marker';
|
|
10
|
+
export { Label } from './Label';
|
|
11
|
+
export type { LabelOptions } from './Label';
|
|
12
|
+
export { Icon } from './Icon';
|
|
13
|
+
export type { IconOptions } from './Icon';
|
|
14
|
+
export { SVG } from './SVG';
|
|
15
|
+
export type { SvgOptions } from './SVG';
|
|
16
|
+
export { InfoWindow } from './InfoWindow';
|
|
17
|
+
export type { InfoWindowOptions } from './InfoWindow';
|
|
18
|
+
export { Polyline } from './Polyline';
|
|
19
|
+
export type { PolylineOptions } from './Polyline';
|
|
20
|
+
export { Polygon } from './Polygon';
|
|
21
|
+
export type { PolygonOptions } from './Polygon';
|
|
22
|
+
export { Rectangle } from './Rectangle';
|
|
23
|
+
export type { RectangleOptions } from './Rectangle';
|
|
24
|
+
export { Circle } from './Circle';
|
|
25
|
+
export type { CircleOptions } from './Circle';
|
|
26
|
+
export { Ring } from './Ring';
|
|
27
|
+
export type { RingOptions } from './Ring';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 核心模块入口文件
|
|
3
|
+
* 导出所有核心类型、常量和类
|
|
4
|
+
*/
|
|
5
|
+
export * from './types';
|
|
6
|
+
export * from './constants';
|
|
7
|
+
export { MapPlugin, createMapPlugin } from './MapPlugin';
|
|
8
|
+
import * as Cesium from 'cesium';
|
|
9
|
+
export { Cesium };
|
|
10
|
+
/**
|
|
11
|
+
* 核心模块版本信息
|
|
12
|
+
*/
|
|
13
|
+
export declare const VERSION = "1.0.0";
|
|
14
|
+
/**
|
|
15
|
+
* 核心模块描述
|
|
16
|
+
*/
|
|
17
|
+
export declare const DESCRIPTION = "VMap Cesium Tool \u6838\u5FC3\u6A21\u5757 - \u63D0\u4F9B\u5730\u56FE\u63D2\u4EF6\u7684\u57FA\u7840\u7C7B\u578B\u3001\u5E38\u91CF\u548C\u6838\u5FC3\u7C7B";
|
|
18
|
+
/**
|
|
19
|
+
* 默认导出核心模块
|
|
20
|
+
*/
|
|
21
|
+
declare const coreModule: {
|
|
22
|
+
VERSION: string;
|
|
23
|
+
DESCRIPTION: string;
|
|
24
|
+
};
|
|
25
|
+
export default coreModule;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { BaiduLayerConfig } from '../types';
|
|
2
|
+
import { MapLayer } from './MapLayer';
|
|
3
|
+
import * as Cesium from 'cesium';
|
|
4
|
+
/**
|
|
5
|
+
* 百度地图影像图层配置
|
|
6
|
+
*/
|
|
7
|
+
export declare const createBaiduImageryConfig: (token?: string) => Cesium.ImageryProvider[];
|
|
8
|
+
/**
|
|
9
|
+
* 百度地图图层类
|
|
10
|
+
* 支持普通、卫星、地形三种类型的百度地图图层
|
|
11
|
+
*/
|
|
12
|
+
export declare class BaiduMapLayer extends MapLayer {
|
|
13
|
+
private config;
|
|
14
|
+
/**
|
|
15
|
+
* 构造函数
|
|
16
|
+
* @param viewer Cesium Viewer 实例
|
|
17
|
+
* @param config 百度地图图层配置
|
|
18
|
+
*/
|
|
19
|
+
constructor(viewer: Cesium.Viewer, config: BaiduLayerConfig);
|
|
20
|
+
/**
|
|
21
|
+
* 获取影像提供者数组
|
|
22
|
+
*/
|
|
23
|
+
protected getProviders(): Cesium.ImageryProvider[];
|
|
24
|
+
/**
|
|
25
|
+
* 添加图层到 Viewer
|
|
26
|
+
*/
|
|
27
|
+
addToViewer(): void;
|
|
28
|
+
/**
|
|
29
|
+
* 更新图层配置
|
|
30
|
+
* @param config 新的百度地图图层配置
|
|
31
|
+
*/
|
|
32
|
+
updateConfig(config: Partial<BaiduLayerConfig>): void;
|
|
33
|
+
/**
|
|
34
|
+
* 获取当前配置
|
|
35
|
+
*/
|
|
36
|
+
getConfig(): BaiduLayerConfig;
|
|
37
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CustomLayerConfig } from '../types';
|
|
2
|
+
import { MapLayer } from './MapLayer';
|
|
3
|
+
import * as Cesium from 'cesium';
|
|
4
|
+
/**
|
|
5
|
+
* 自定义地图图层类
|
|
6
|
+
* 支持用户自定义的影像提供者数组
|
|
7
|
+
*/
|
|
8
|
+
export declare class CustomMapLayer extends MapLayer {
|
|
9
|
+
private config;
|
|
10
|
+
/**
|
|
11
|
+
* 构造函数
|
|
12
|
+
* @param viewer Cesium Viewer 实例
|
|
13
|
+
* @param config 自定义图层配置
|
|
14
|
+
*/
|
|
15
|
+
constructor(viewer: Cesium.Viewer, config: CustomLayerConfig);
|
|
16
|
+
/**
|
|
17
|
+
* 获取影像提供者数组
|
|
18
|
+
*/
|
|
19
|
+
protected getProviders(): Cesium.ImageryProvider[];
|
|
20
|
+
/**
|
|
21
|
+
* 添加图层到 Viewer
|
|
22
|
+
*/
|
|
23
|
+
addToViewer(): void;
|
|
24
|
+
/**
|
|
25
|
+
* 更新图层配置
|
|
26
|
+
* @param config 新的自定义图层配置
|
|
27
|
+
*/
|
|
28
|
+
updateConfig(config: Partial<CustomLayerConfig>): void;
|
|
29
|
+
/**
|
|
30
|
+
* 获取当前配置
|
|
31
|
+
*/
|
|
32
|
+
getConfig(): CustomLayerConfig;
|
|
33
|
+
/**
|
|
34
|
+
* 添加单个影像提供者
|
|
35
|
+
* @param provider 影像提供者
|
|
36
|
+
*/
|
|
37
|
+
addProvider(provider: Cesium.ImageryProvider): void;
|
|
38
|
+
/**
|
|
39
|
+
* 移除指定索引的影像提供者
|
|
40
|
+
* @param index 提供者索引
|
|
41
|
+
*/
|
|
42
|
+
removeProvider(index: number): void;
|
|
43
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { GaodeLayerConfig } from '../types';
|
|
2
|
+
import { MapLayer } from './MapLayer';
|
|
3
|
+
import * as Cesium from 'cesium';
|
|
4
|
+
/**
|
|
5
|
+
* 高德地图影像图层配置(带注记)
|
|
6
|
+
*/
|
|
7
|
+
export declare const createGaodeImageryConfig: (token?: string) => Cesium.ImageryProvider[];
|
|
8
|
+
/**
|
|
9
|
+
* 高德地图矢量图层配置
|
|
10
|
+
*/
|
|
11
|
+
export declare const createGaodeVectorConfig: (token?: string) => Cesium.ImageryProvider[];
|
|
12
|
+
/**
|
|
13
|
+
* 高德地图图层类
|
|
14
|
+
* 支持矢量和卫星两种类型的高德地图图层
|
|
15
|
+
*/
|
|
16
|
+
export declare class GaodeMapLayer extends MapLayer {
|
|
17
|
+
private config;
|
|
18
|
+
/**
|
|
19
|
+
* 构造函数
|
|
20
|
+
* @param viewer Cesium Viewer 实例
|
|
21
|
+
* @param config 高德地图图层配置
|
|
22
|
+
*/
|
|
23
|
+
constructor(viewer: Cesium.Viewer, config: GaodeLayerConfig);
|
|
24
|
+
/**
|
|
25
|
+
* 获取影像提供者数组
|
|
26
|
+
*/
|
|
27
|
+
protected getProviders(): Cesium.ImageryProvider[];
|
|
28
|
+
/**
|
|
29
|
+
* 添加图层到 Viewer
|
|
30
|
+
*/
|
|
31
|
+
addToViewer(): void;
|
|
32
|
+
/**
|
|
33
|
+
* 更新图层配置
|
|
34
|
+
* @param config 新的高德地图图层配置
|
|
35
|
+
*/
|
|
36
|
+
updateConfig(config: Partial<GaodeLayerConfig>): void;
|
|
37
|
+
/**
|
|
38
|
+
* 获取当前配置
|
|
39
|
+
*/
|
|
40
|
+
getConfig(): GaodeLayerConfig;
|
|
41
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import * as Cesium from 'cesium';
|
|
2
|
+
/**
|
|
3
|
+
* 热力点数据
|
|
4
|
+
*/
|
|
5
|
+
export interface HeatPoint {
|
|
6
|
+
/** 经度(度) */
|
|
7
|
+
lon: number;
|
|
8
|
+
/** 纬度(度) */
|
|
9
|
+
lat: number;
|
|
10
|
+
/** 强度值 */
|
|
11
|
+
value: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 热力图渐变配置
|
|
15
|
+
*/
|
|
16
|
+
export interface HeatmapGradient {
|
|
17
|
+
[stop: number]: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 热力图选项
|
|
21
|
+
*/
|
|
22
|
+
export interface HeatmapOptions {
|
|
23
|
+
/** Canvas 宽度(默认 512) */
|
|
24
|
+
width?: number;
|
|
25
|
+
/** Canvas 高度(默认 512) */
|
|
26
|
+
height?: number;
|
|
27
|
+
/** 渲染模式:heat=热力渐变,discrete=分段纯色 */
|
|
28
|
+
mode?: 'heat' | 'discrete';
|
|
29
|
+
/** 点影响半径(像素,默认 30) */
|
|
30
|
+
radius?: number;
|
|
31
|
+
/** 伽马校正值(默认 0.7) */
|
|
32
|
+
gamma?: number;
|
|
33
|
+
/** 最小透明度(默认 0.03) */
|
|
34
|
+
minAlpha?: number;
|
|
35
|
+
/** 最小值(用于归一化) */
|
|
36
|
+
minValue?: number;
|
|
37
|
+
/** 最大值(用于归一化) */
|
|
38
|
+
maxValue?: number;
|
|
39
|
+
/** 全局不透明度(0-1) */
|
|
40
|
+
opacity?: number;
|
|
41
|
+
/** 颜色梯度 */
|
|
42
|
+
gradient?: HeatmapGradient;
|
|
43
|
+
/** 离散模式阈值数组 */
|
|
44
|
+
discreteThresholds?: number[];
|
|
45
|
+
/** 离散模式颜色数组 */
|
|
46
|
+
discreteColors?: string[];
|
|
47
|
+
/** 重叠处理方式:max=取高分段,last=后绘制覆盖 */
|
|
48
|
+
discreteOverlap?: 'max' | 'last';
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Cesium 热力图图层
|
|
52
|
+
*
|
|
53
|
+
* 使用离屏 Canvas 渲染热力图,通过 SingleTileImageryProvider 叠加到地球。
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const heatmap = new HeatmapLayer(viewer, {
|
|
58
|
+
* radius: 30,
|
|
59
|
+
* gradient: {
|
|
60
|
+
* 0.0: '#0000ff',
|
|
61
|
+
* 0.5: '#00ffff',
|
|
62
|
+
* 1.0: '#ff0000'
|
|
63
|
+
* }
|
|
64
|
+
* });
|
|
65
|
+
* heatmap.setData([
|
|
66
|
+
* { lon: 120.1, lat: 30.2, value: 50 },
|
|
67
|
+
* { lon: 120.2, lat: 30.3, value: 80 }
|
|
68
|
+
* ]);
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare class HeatmapLayer {
|
|
72
|
+
private viewer;
|
|
73
|
+
private imageryLayer;
|
|
74
|
+
private rectangle;
|
|
75
|
+
private fullDataRectangle;
|
|
76
|
+
private canvas;
|
|
77
|
+
private ctx;
|
|
78
|
+
private options;
|
|
79
|
+
private data;
|
|
80
|
+
private gradientLUT;
|
|
81
|
+
constructor(viewer: Cesium.Viewer, options?: HeatmapOptions);
|
|
82
|
+
/**
|
|
83
|
+
* 解析颜色为 RGBA
|
|
84
|
+
*/
|
|
85
|
+
private parseColorToRGBA;
|
|
86
|
+
/**
|
|
87
|
+
* 构建颜色查找表
|
|
88
|
+
*/
|
|
89
|
+
private buildGradientLUT;
|
|
90
|
+
/**
|
|
91
|
+
* 设置热力图数据
|
|
92
|
+
*/
|
|
93
|
+
setData(points: HeatPoint[]): void;
|
|
94
|
+
/**
|
|
95
|
+
* 渲染热力图
|
|
96
|
+
*/
|
|
97
|
+
private renderHeatmap;
|
|
98
|
+
/**
|
|
99
|
+
* 更新影像图层
|
|
100
|
+
*/
|
|
101
|
+
private updateImageryLayer;
|
|
102
|
+
/**
|
|
103
|
+
* 设置透明度
|
|
104
|
+
*/
|
|
105
|
+
setOpacity(opacity: number): void;
|
|
106
|
+
/**
|
|
107
|
+
* 设置可见性
|
|
108
|
+
*/
|
|
109
|
+
setVisible(visible: boolean): void;
|
|
110
|
+
/**
|
|
111
|
+
* 清除图层
|
|
112
|
+
*/
|
|
113
|
+
clearLayer(): void;
|
|
114
|
+
/**
|
|
115
|
+
* 销毁图层
|
|
116
|
+
*/
|
|
117
|
+
destroy(): void;
|
|
118
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as Cesium from 'cesium';
|
|
2
|
+
/**
|
|
3
|
+
* 地图图层基类
|
|
4
|
+
* 提供统一的图层管理接口
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class MapLayer {
|
|
7
|
+
protected viewer: Cesium.Viewer;
|
|
8
|
+
protected imageryLayers: Cesium.ImageryLayer[];
|
|
9
|
+
/**
|
|
10
|
+
* 构造函数
|
|
11
|
+
* @param viewer Cesium Viewer 实例
|
|
12
|
+
*/
|
|
13
|
+
constructor(viewer: Cesium.Viewer);
|
|
14
|
+
/**
|
|
15
|
+
* 添加图层到 Viewer
|
|
16
|
+
* 子类必须实现此方法
|
|
17
|
+
*/
|
|
18
|
+
abstract addToViewer(): void;
|
|
19
|
+
/**
|
|
20
|
+
* 从 Viewer 移除图层
|
|
21
|
+
*/
|
|
22
|
+
removeFromViewer(): void;
|
|
23
|
+
/**
|
|
24
|
+
* 获取图层提供者数组
|
|
25
|
+
* 子类必须实现此方法
|
|
26
|
+
*/
|
|
27
|
+
protected abstract getProviders(): Cesium.ImageryProvider[];
|
|
28
|
+
/**
|
|
29
|
+
* 添加影像图层到 Viewer
|
|
30
|
+
* @param providers 影像提供者数组
|
|
31
|
+
*/
|
|
32
|
+
protected addImageryProviders(providers: Cesium.ImageryProvider[]): void;
|
|
33
|
+
/**
|
|
34
|
+
* 检查图层是否已添加到 Viewer
|
|
35
|
+
*/
|
|
36
|
+
isAdded(): boolean;
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { OSMLayerConfig } from '../types';
|
|
2
|
+
import { MapLayer } from './MapLayer';
|
|
3
|
+
import * as Cesium from 'cesium';
|
|
4
|
+
/**
|
|
5
|
+
* OSM 标准图层配置
|
|
6
|
+
*/
|
|
7
|
+
export declare const createOSMConfig: () => Cesium.ImageryProvider[];
|
|
8
|
+
/**
|
|
9
|
+
* OpenStreetMap 图层类
|
|
10
|
+
* 支持标准 OSM 瓦片图层
|
|
11
|
+
*/
|
|
12
|
+
export declare class OSMMapLayer extends MapLayer {
|
|
13
|
+
private config;
|
|
14
|
+
/**
|
|
15
|
+
* 构造函数
|
|
16
|
+
* @param viewer Cesium Viewer 实例
|
|
17
|
+
* @param config OSM 图层配置
|
|
18
|
+
*/
|
|
19
|
+
constructor(viewer: Cesium.Viewer, config?: OSMLayerConfig);
|
|
20
|
+
/**
|
|
21
|
+
* 获取影像提供者数组
|
|
22
|
+
*/
|
|
23
|
+
protected getProviders(): Cesium.ImageryProvider[];
|
|
24
|
+
/**
|
|
25
|
+
* 添加图层到 Viewer
|
|
26
|
+
*/
|
|
27
|
+
addToViewer(): void;
|
|
28
|
+
/**
|
|
29
|
+
* 更新图层配置
|
|
30
|
+
* @param config 新的 OSM 图层配置
|
|
31
|
+
*/
|
|
32
|
+
updateConfig(config: Partial<OSMLayerConfig>): void;
|
|
33
|
+
/**
|
|
34
|
+
* 获取当前配置
|
|
35
|
+
*/
|
|
36
|
+
getConfig(): OSMLayerConfig;
|
|
37
|
+
}
|