qm-map-maplibre-gl 0.0.1 → 0.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/context/mapContext.d.ts +13 -0
- package/dist/maplibregl/MapWrapper.d.ts +29 -0
- package/dist/maplibregl/layer/BaseLayer.d.ts +20 -0
- package/dist/maplibregl/layer/LayerGroupWrapper.d.ts +22 -2
- package/dist/maplibregl/layer/LayerWrapper.d.ts +9 -2
- package/dist/qm-map.es.js +154 -162
- package/dist/qm-map.umd.js +4 -4
- package/dist/utils.d.ts +14 -3
- package/dist/widget/BaseWidget/index.d.ts +1 -0
- package/dist/widget/Draw/index.d.ts +0 -1
- package/dist/widget/MapWidget/index.d.ts +12 -0
- package/dist/widget/PopupPanel/index.d.ts +4 -0
- package/dist/widget/PopupWrapper/index.d.ts +12 -0
- package/dist/widget/Print/MapGenerator/CrosshairManager.d.ts +12 -0
- package/dist/widget/Print/MapGenerator/ImageExporter.d.ts +16 -0
- package/dist/widget/Print/MapGenerator/PDFGenerator.d.ts +30 -0
- package/dist/widget/Print/MapGenerator/PrintableAreaManager.d.ts +22 -0
- package/dist/widget/Print/MapGenerator/SVGExporter.d.ts +13 -0
- package/package.json +1 -2
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { default as MapWrapper } from '../maplibregl/MapWrapper';
|
|
2
|
+
/**
|
|
3
|
+
* 地图上下文类型定义
|
|
4
|
+
* @property map - 地图包装器实例
|
|
5
|
+
*/
|
|
2
6
|
export interface TMapContext {
|
|
3
7
|
map: MapWrapper | null;
|
|
4
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* 地图上下文
|
|
11
|
+
* 用于在组件树中共享地图实例
|
|
12
|
+
*/
|
|
5
13
|
export declare const MapContext: import('react').Context<TMapContext>;
|
|
14
|
+
/**
|
|
15
|
+
* 使用地图上下文的 Hook
|
|
16
|
+
* @returns 返回地图上下文对象
|
|
17
|
+
* @throws 如果在非函数组件中使用会抛出错误
|
|
18
|
+
*/
|
|
6
19
|
export declare const useMap: () => TMapContext;
|
|
@@ -34,11 +34,40 @@ declare class MapWrapper extends Map {
|
|
|
34
34
|
private _layers;
|
|
35
35
|
get layers(): (LayerWrapper | LayerGroupWrapper)[];
|
|
36
36
|
constructor(options: TMapOptions);
|
|
37
|
+
/**
|
|
38
|
+
* 根据ID递归查找图层或图层组
|
|
39
|
+
* @param layers - 图层数组
|
|
40
|
+
* @param id - 要查找的图层ID
|
|
41
|
+
* @returns 找到的图层或图层组,未找到返回 undefined
|
|
42
|
+
*/
|
|
37
43
|
getLayerWrapper(layers: Array<LayerWrapper | LayerGroupWrapper>, id: string): LayerWrapper | LayerGroupWrapper | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* 添加图层包装器到地图
|
|
46
|
+
* @param layer - 图层或图层组包装器
|
|
47
|
+
* @param beforeId - 可选的图层ID,用于指定插入位置
|
|
48
|
+
*/
|
|
38
49
|
addLayerWrapper(layer: LayerWrapper | LayerGroupWrapper, beforeId?: string): void;
|
|
50
|
+
/**
|
|
51
|
+
* 从地图移除图层包装器
|
|
52
|
+
* @param layer - 图层或图层组包装器
|
|
53
|
+
* @param removeSource - 是否同时移除数据源
|
|
54
|
+
*/
|
|
39
55
|
removeLayerWrapper(layer: LayerWrapper | LayerGroupWrapper, removeSource?: boolean): void;
|
|
56
|
+
/**
|
|
57
|
+
* 加载图层配置
|
|
58
|
+
* 根据配置创建图层或图层组并添加到地图
|
|
59
|
+
* @param mapLayerSettting - 图层配置数组
|
|
60
|
+
*/
|
|
40
61
|
load(mapLayerSettting: TMapLayerSettting): void;
|
|
62
|
+
/**
|
|
63
|
+
* 高亮选中要素
|
|
64
|
+
* 在地图上显示选中的 GeoJSON 要素
|
|
65
|
+
* @param geo - GeoJSON 要素或要素集合
|
|
66
|
+
*/
|
|
41
67
|
selectFeature(geo: GeoJSON.Feature<GeoJSON.Geometry> | GeoJSON.FeatureCollection<GeoJSON.Geometry> | string): void;
|
|
68
|
+
/**
|
|
69
|
+
* 清除选中要素的高亮显示
|
|
70
|
+
*/
|
|
42
71
|
clearSelect(): void;
|
|
43
72
|
/**
|
|
44
73
|
* 查找有效beforeId
|
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
import { default as MapWrapper } from '../MapWrapper';
|
|
2
2
|
import { TLayerOptions } from '../typings/TLayerOptions';
|
|
3
|
+
/**
|
|
4
|
+
* 图层基类
|
|
5
|
+
* 所有图层类型的抽象基类,定义了图层的通用行为和接口
|
|
6
|
+
*/
|
|
3
7
|
declare abstract class BaseLayer {
|
|
4
8
|
protected _options: TLayerOptions;
|
|
5
9
|
get options(): TLayerOptions;
|
|
6
10
|
constructor(options: TLayerOptions);
|
|
11
|
+
/**
|
|
12
|
+
* 抽象方法:添加图层到地图
|
|
13
|
+
* @param map - 地图包装器实例
|
|
14
|
+
* @param beforeId - 可选的图层ID,用于指定图层插入位置
|
|
15
|
+
*/
|
|
7
16
|
protected abstract add(map: MapWrapper, beforeId?: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* 添加图层到地图的公共方法
|
|
19
|
+
* 处理图层状态检查和插入位置查找
|
|
20
|
+
* @param map - 地图包装器实例
|
|
21
|
+
* @param beforeId - 可选的图层ID
|
|
22
|
+
*/
|
|
8
23
|
onAdd(map: MapWrapper, beforeId?: string): void;
|
|
24
|
+
/**
|
|
25
|
+
* 从地图移除图层
|
|
26
|
+
* @param map - 地图包装器实例
|
|
27
|
+
* @param removeSource - 是否同时移除数据源
|
|
28
|
+
*/
|
|
9
29
|
onRemove(map: MapWrapper, removeSource?: boolean): void;
|
|
10
30
|
}
|
|
11
31
|
export default BaseLayer;
|
|
@@ -2,17 +2,37 @@ import { default as MapWrapper } from '../MapWrapper';
|
|
|
2
2
|
import { TLayerGroupOptions } from '../typings/TLayerOptions';
|
|
3
3
|
import { default as LayerWrapper } from './LayerWrapper';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* 图层组包装类
|
|
6
|
+
* 用于将多个图层作为一个整体进行控制
|
|
7
|
+
* 支持嵌套的图层组结构
|
|
7
8
|
*/
|
|
8
9
|
declare class LayerGroupWrapper {
|
|
9
10
|
private _options;
|
|
10
11
|
get options(): TLayerGroupOptions;
|
|
11
12
|
private _layers;
|
|
12
13
|
get layers(): (LayerWrapper | LayerGroupWrapper)[];
|
|
14
|
+
/**
|
|
15
|
+
* 创建图层组实例
|
|
16
|
+
* @param options - 图层组配置选项
|
|
17
|
+
*/
|
|
13
18
|
constructor(options: TLayerGroupOptions);
|
|
19
|
+
/**
|
|
20
|
+
* 将图层组添加到地图
|
|
21
|
+
* 递归添加所有子图层
|
|
22
|
+
* @param map - 地图包装器实例
|
|
23
|
+
* @param beforeId - 可选的图层ID,用于指定插入位置
|
|
24
|
+
*/
|
|
14
25
|
onAdd(map: MapWrapper, beforeId?: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* 从地图移除图层组
|
|
28
|
+
* 递归移除所有子图层
|
|
29
|
+
* @param map - 地图包装器实例
|
|
30
|
+
*/
|
|
15
31
|
onRemove(map: MapWrapper): void;
|
|
32
|
+
/**
|
|
33
|
+
* 更新图层组的状态
|
|
34
|
+
* 根据子图层的添加状态更新组的 isAdd 属性
|
|
35
|
+
*/
|
|
16
36
|
private updateOptions;
|
|
17
37
|
}
|
|
18
38
|
export default LayerGroupWrapper;
|
|
@@ -2,11 +2,18 @@ import { default as MapWrapper } from '../MapWrapper';
|
|
|
2
2
|
import { TLayerOptions } from '../typings/TLayerOptions';
|
|
3
3
|
import { default as BaseLayer } from './BaseLayer';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* 图层包装类
|
|
6
|
+
* 继承自 BaseLayer,负责单个图层的添加和管理
|
|
7
|
+
* 处理数据源的创建和图层添加到地图的逻辑
|
|
7
8
|
*/
|
|
8
9
|
declare class LayerWrapper extends BaseLayer {
|
|
9
10
|
constructor(options: TLayerOptions);
|
|
11
|
+
/**
|
|
12
|
+
* 添加图层到地图
|
|
13
|
+
* 如果数据源不存在则创建,然后将图层添加到地图
|
|
14
|
+
* @param map - 地图包装器实例
|
|
15
|
+
* @param beforeId - 可选的图层ID,用于指定图层插入位置
|
|
16
|
+
*/
|
|
10
17
|
protected add(map: MapWrapper, beforeId?: string): void;
|
|
11
18
|
}
|
|
12
19
|
export default LayerWrapper;
|