vue-openlayers-plugin 1.0.81 → 1.0.84
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/lib/BasemapPanel-1145a7ed.mjs +280 -0
- package/lib/CoordinateLocationDialog-be972ee5.mjs +263 -0
- package/lib/FilterPanel-9d55d20c.mjs +6 -0
- package/lib/LayerPanel-0272f4a3.mjs +6 -0
- package/lib/MapPrintDialog-3d0a2891.mjs +6 -0
- package/lib/MeasurementDialog-37a0bbb3.mjs +369 -0
- package/lib/MyMarkersDialog-61d5c30d.mjs +584 -0
- package/lib/RegionNavigationDialog-0808549f.mjs +1320 -0
- package/lib/ViewBookmarksDialog-107a29d1.mjs +723 -0
- package/lib/index-3d1e1ad0.mjs +839 -0
- package/lib/{index-f007f12f.mjs → index-6f94a7fa.mjs} +50503 -53889
- package/lib/index-91e9a4e6.mjs +756 -0
- package/lib/{index.es-a1c63a58.mjs → index.es-03fbdea2.mjs} +1 -1
- package/lib/index.esm.js +65 -56
- package/lib/index.umd.js +73682 -71991
- package/lib/style.css +1705 -1704
- package/package.json +8 -4
- package/types/src/assets/index.d.ts +9 -0
- package/types/src/assets/index.d.ts.map +1 -0
- package/types/src/components/CustomDialog/CustomDialog.vue.d.ts +16 -16
- package/types/src/components/CustomDialog/icons/index.d.ts +14 -0
- package/types/src/components/CustomDialog/icons/index.d.ts.map +1 -0
- package/types/src/components/CustomOpenlayer/services/searchService.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/types/index.d.ts +6 -0
- package/types/src/components/CustomOpenlayer/types/index.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/tiandituSearchApi.d.ts +3 -0
- package/types/src/components/CustomOpenlayer/utils/tiandituSearchApi.d.ts.map +1 -1
- package/types/src/components/OlBaseLayerSwitcher.vue.d.ts +19 -0
- package/types/src/components/OlBaseLayerSwitcher.vue.d.ts.map +1 -0
- package/types/src/components/OlControlPanel.vue.d.ts +63 -0
- package/types/src/components/OlControlPanel.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts +20 -0
- package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/CoordinateLocationDialog.vue.d.ts +21 -0
- package/types/src/components/OlDialogs/CoordinateLocationDialog.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/DialogManager.d.ts +58 -0
- package/types/src/components/OlDialogs/DialogManager.d.ts.map +1 -0
- package/types/src/components/OlDialogs/FilterPanel.vue.d.ts +33 -0
- package/types/src/components/OlDialogs/FilterPanel.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/LayerPanel.vue.d.ts +1345 -0
- package/types/src/components/OlDialogs/LayerPanel.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/LayerStyleConfig.vue.d.ts +23 -0
- package/types/src/components/OlDialogs/LayerStyleConfig.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/LayerTreeNode.vue.d.ts +28 -0
- package/types/src/components/OlDialogs/LayerTreeNode.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/MapDrawingDialog/components/ListTab.vue.d.ts +3 -0
- package/types/src/components/OlDialogs/MapDrawingDialog/components/ListTab.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/MapDrawingDialog/components/MarkTab.vue.d.ts +3 -0
- package/types/src/components/OlDialogs/MapDrawingDialog/components/MarkTab.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/MapDrawingDialog/index.vue.d.ts +3 -0
- package/types/src/components/OlDialogs/MapDrawingDialog/index.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/MapPrintDialog.vue.d.ts +24 -0
- package/types/src/components/OlDialogs/MapPrintDialog.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts +41 -0
- package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/MyMarkersDialog.vue.d.ts +21 -0
- package/types/src/components/OlDialogs/MyMarkersDialog.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/RegionNavigationDialog.vue.d.ts +25 -0
- package/types/src/components/OlDialogs/RegionNavigationDialog.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/ViewBookmarksDialog.vue.d.ts +21 -0
- package/types/src/components/OlDialogs/ViewBookmarksDialog.vue.d.ts.map +1 -0
- package/types/src/components/OlDialogs/registry.d.ts +39 -0
- package/types/src/components/OlDialogs/registry.d.ts.map +1 -0
- package/types/src/components/OlDrawToolbar.vue.d.ts +61 -0
- package/types/src/components/OlDrawToolbar.vue.d.ts.map +1 -0
- package/types/src/components/OlLegendPanel.vue.d.ts +69 -0
- package/types/src/components/OlLegendPanel.vue.d.ts.map +1 -0
- package/types/src/components/OlMapContainer.vue.d.ts +112 -0
- package/types/src/components/OlMapContainer.vue.d.ts.map +1 -0
- package/types/src/components/OlMapPopup/ArrayPopup.vue.d.ts +47 -0
- package/types/src/components/OlMapPopup/ArrayPopup.vue.d.ts.map +1 -0
- package/types/src/components/OlMapPopup/BasePopup.vue.d.ts +63 -0
- package/types/src/components/OlMapPopup/BasePopup.vue.d.ts.map +1 -0
- package/types/src/components/OlMapPopup/HtmlPopup.vue.d.ts +45 -0
- package/types/src/components/OlMapPopup/HtmlPopup.vue.d.ts.map +1 -0
- package/types/src/components/OlMapPopup/ImagePopup.vue.d.ts +45 -0
- package/types/src/components/OlMapPopup/ImagePopup.vue.d.ts.map +1 -0
- package/types/src/components/OlMapPopup/index.d.ts +9 -0
- package/types/src/components/OlMapPopup/index.d.ts.map +1 -0
- package/types/src/components/OlMapPopup/types.d.ts +118 -0
- package/types/src/components/OlMapPopup/types.d.ts.map +1 -0
- package/types/src/components/OlMapSearch.vue.d.ts +126 -0
- package/types/src/components/OlMapSearch.vue.d.ts.map +1 -0
- package/types/src/components/OlMapTooltip.vue.d.ts +70 -0
- package/types/src/components/OlMapTooltip.vue.d.ts.map +1 -0
- package/types/src/core/EventBus.d.ts +66 -0
- package/types/src/core/EventBus.d.ts.map +1 -0
- package/types/src/core/EventManager.d.ts +147 -0
- package/types/src/core/EventManager.d.ts.map +1 -0
- package/types/src/core/FeatureHighlightManager.d.ts +103 -0
- package/types/src/core/FeatureHighlightManager.d.ts.map +1 -0
- package/types/src/core/GlobalStyleManager.d.ts +76 -0
- package/types/src/core/GlobalStyleManager.d.ts.map +1 -0
- package/types/src/core/LayerConfigManager.d.ts +66 -0
- package/types/src/core/LayerConfigManager.d.ts.map +1 -0
- package/types/src/core/LayerManager.d.ts +198 -0
- package/types/src/core/LayerManager.d.ts.map +1 -0
- package/types/src/core/LayerTreeManager.d.ts +125 -0
- package/types/src/core/LayerTreeManager.d.ts.map +1 -0
- package/types/src/core/MapManager.d.ts +203 -0
- package/types/src/core/MapManager.d.ts.map +1 -0
- package/types/src/core/MarkerDrawingAdapter.d.ts +125 -0
- package/types/src/core/MarkerDrawingAdapter.d.ts.map +1 -0
- package/types/src/core/PluginManager.d.ts +158 -0
- package/types/src/core/PluginManager.d.ts.map +1 -0
- package/types/src/core/PopupManager.d.ts +110 -0
- package/types/src/core/PopupManager.d.ts.map +1 -0
- package/types/src/core/SearchMarkerManager.d.ts +96 -0
- package/types/src/core/SearchMarkerManager.d.ts.map +1 -0
- package/types/src/core/TooltipHelper.d.ts +134 -0
- package/types/src/core/TooltipHelper.d.ts.map +1 -0
- package/types/src/core/amapSearchApi.d.ts +57 -0
- package/types/src/core/amapSearchApi.d.ts.map +1 -0
- package/types/src/core/basemapManager.d.ts +63 -0
- package/types/src/core/basemapManager.d.ts.map +1 -0
- package/types/src/core/configLoader.d.ts +159 -0
- package/types/src/core/configLoader.d.ts.map +1 -0
- package/types/src/core/drawing/BaseDrawing.d.ts +255 -0
- package/types/src/core/drawing/BaseDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/DrawingManager.d.ts +394 -0
- package/types/src/core/drawing/DrawingManager.d.ts.map +1 -0
- package/types/src/core/drawing/IconDrawing.d.ts +188 -0
- package/types/src/core/drawing/IconDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/ImageDrawing.d.ts +193 -0
- package/types/src/core/drawing/ImageDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/LineDrawing.d.ts +193 -0
- package/types/src/core/drawing/LineDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/MilitaryDrawing.d.ts +175 -0
- package/types/src/core/drawing/MilitaryDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/MultiLineStringDrawing.d.ts +294 -0
- package/types/src/core/drawing/MultiLineStringDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/MultiPointDrawing.d.ts +244 -0
- package/types/src/core/drawing/MultiPointDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/MultiPolygonDrawing.d.ts +206 -0
- package/types/src/core/drawing/MultiPolygonDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/PointDrawing.d.ts +175 -0
- package/types/src/core/drawing/PointDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/PointWithTextDrawing.d.ts +183 -0
- package/types/src/core/drawing/PointWithTextDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/PolygonDrawing.d.ts +240 -0
- package/types/src/core/drawing/PolygonDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/TextDrawing.d.ts +164 -0
- package/types/src/core/drawing/TextDrawing.d.ts.map +1 -0
- package/types/src/core/drawing/index.d.ts +525 -0
- package/types/src/core/drawing/index.d.ts.map +1 -0
- package/types/src/core/geoJsonLocationTool.d.ts +116 -0
- package/types/src/core/geoJsonLocationTool.d.ts.map +1 -0
- package/types/src/core/layers/BaseLayer.d.ts +162 -0
- package/types/src/core/layers/BaseLayer.d.ts.map +1 -0
- package/types/src/core/layers/CanvasLayerHandler.d.ts +65 -0
- package/types/src/core/layers/CanvasLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/ClusterLayerHandler.d.ts +122 -0
- package/types/src/core/layers/ClusterLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/GMLLayerHandler.d.ts +107 -0
- package/types/src/core/layers/GMLLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/GeoJSONLayerHandler.d.ts +125 -0
- package/types/src/core/layers/GeoJSONLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/HeatmapLayerHandler.d.ts +86 -0
- package/types/src/core/layers/HeatmapLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/ImageVectorLayerHandler.d.ts +77 -0
- package/types/src/core/layers/ImageVectorLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/KMLLayerHandler.d.ts +95 -0
- package/types/src/core/layers/KMLLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/LayerFactory.d.ts +63 -0
- package/types/src/core/layers/LayerFactory.d.ts.map +1 -0
- package/types/src/core/layers/SuperMapServiceTester.d.ts +54 -0
- package/types/src/core/layers/SuperMapServiceTester.d.ts.map +1 -0
- package/types/src/core/layers/SuperMapTiledMapServiceHandler.d.ts +35 -0
- package/types/src/core/layers/SuperMapTiledMapServiceHandler.d.ts.map +1 -0
- package/types/src/core/layers/TiandituConfigHelper.d.ts +120 -0
- package/types/src/core/layers/TiandituConfigHelper.d.ts.map +1 -0
- package/types/src/core/layers/TiandituLayerHandler.d.ts +75 -0
- package/types/src/core/layers/TiandituLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/TileLayerHandler.d.ts +42 -0
- package/types/src/core/layers/TileLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/TileSuperMapRestHandler.d.ts +161 -0
- package/types/src/core/layers/TileSuperMapRestHandler.d.ts.map +1 -0
- package/types/src/core/layers/VectorTileLayerHandler.d.ts +126 -0
- package/types/src/core/layers/VectorTileLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/WFSLayerHandler.d.ts +80 -0
- package/types/src/core/layers/WFSLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/WKTLayerHandler.d.ts +123 -0
- package/types/src/core/layers/WKTLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/WMSLayerHandler.d.ts +78 -0
- package/types/src/core/layers/WMSLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/WMTSLayerHandler.d.ts +44 -0
- package/types/src/core/layers/WMTSLayerHandler.d.ts.map +1 -0
- package/types/src/core/layers/index.d.ts +20 -0
- package/types/src/core/layers/index.d.ts.map +1 -0
- package/types/src/core/layers/interfaces.d.ts +95 -0
- package/types/src/core/layers/interfaces.d.ts.map +1 -0
- package/types/src/core/mapOperationTool.d.ts +145 -0
- package/types/src/core/mapOperationTool.d.ts.map +1 -0
- package/types/src/core/measurementTool.d.ts +136 -0
- package/types/src/core/measurementTool.d.ts.map +1 -0
- package/types/src/core/overviewMapUtil.d.ts +62 -0
- package/types/src/core/overviewMapUtil.d.ts.map +1 -0
- package/types/src/core/proxyHelper.d.ts +66 -0
- package/types/src/core/proxyHelper.d.ts.map +1 -0
- package/types/src/core/storage.d.ts +139 -0
- package/types/src/core/storage.d.ts.map +1 -0
- package/types/src/core/styles/StyleFactory.d.ts +74 -0
- package/types/src/core/styles/StyleFactory.d.ts.map +1 -0
- package/types/src/core/styles/StyleManager.d.ts +77 -0
- package/types/src/core/styles/StyleManager.d.ts.map +1 -0
- package/types/src/core/styles/index.d.ts +67 -0
- package/types/src/core/styles/index.d.ts.map +1 -0
- package/types/src/core/styles/interfaces.d.ts +221 -0
- package/types/src/core/styles/interfaces.d.ts.map +1 -0
- package/types/src/core/tiandituSearchApi.d.ts +51 -0
- package/types/src/core/tiandituSearchApi.d.ts.map +1 -0
- package/types/src/data-old/testLayers.d.ts +84 -0
- package/types/src/data-old/testLayers.d.ts.map +1 -0
- package/types/src/examples-old/FilterExamples.d.ts +104 -0
- package/types/src/examples-old/FilterExamples.d.ts.map +1 -0
- package/types/src/hooks/useMap.d.ts +5 -0
- package/types/src/hooks/useMap.d.ts.map +1 -0
- package/types/src/services/searchService.d.ts +106 -0
- package/types/src/services/searchService.d.ts.map +1 -0
- package/types/src/test-old/FilterSystemTest.d.ts +57 -0
- package/types/src/test-old/FilterSystemTest.d.ts.map +1 -0
- package/types/src/types/index.d.ts +2 -11
- package/types/src/types/index.d.ts.map +1 -1
- package/types/src/types/map.d.ts +819 -0
- package/types/src/types/map.d.ts.map +1 -0
- package/types/src/types/plugin.d.ts +202 -0
- package/types/src/types/plugin.d.ts.map +1 -0
- package/types/src/utils/DiffusionAnimationHelper.d.ts +60 -0
- package/types/src/utils/DiffusionAnimationHelper.d.ts.map +1 -0
- package/types/src/utils/GifAnimationHelper.d.ts +31 -0
- package/types/src/utils/GifAnimationHelper.d.ts.map +1 -0
- package/types/src/utils/coordinateTransform.d.ts +28 -0
- package/types/src/utils/coordinateTransform.d.ts.map +1 -0
- package/types/src/utils/index.d.ts +8 -8
- package/types/src/utils/index.d.ts.map +1 -1
- package/types/src/utils/unitConverter.d.ts +36 -0
- package/types/src/utils/unitConverter.d.ts.map +1 -0
- package/types/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { Layer } from 'ol/layer';
|
|
2
|
+
import { Source } from 'ol/source';
|
|
3
|
+
import { LayerConfig, LayerFilter, FilterLogic, FilterOperator } from '../../types';
|
|
4
|
+
import { Map as OLMap } from 'ol';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 基础图层类,定义所有图层类型的通用属性和方法
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class BaseLayer {
|
|
10
|
+
protected config: LayerConfig;
|
|
11
|
+
protected layer: Layer<Source> | null;
|
|
12
|
+
protected map: OLMap | null;
|
|
13
|
+
/** 图层过滤器集合 */
|
|
14
|
+
protected filters: Map<string, LayerFilter>;
|
|
15
|
+
constructor(config: LayerConfig);
|
|
16
|
+
/**
|
|
17
|
+
* 获取过滤组合逻辑,默认 'AND'
|
|
18
|
+
*/
|
|
19
|
+
protected getFilterLogic(): FilterLogic;
|
|
20
|
+
/**
|
|
21
|
+
* 根据过滤组合逻辑计算布尔结果
|
|
22
|
+
* @param results 单个过滤条件的判定结果数组
|
|
23
|
+
*/
|
|
24
|
+
protected combineByLogic(results: boolean[]): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* 处理图层配置,包括透明度转换等通用逻辑
|
|
27
|
+
*/
|
|
28
|
+
protected processConfig(): void;
|
|
29
|
+
/**
|
|
30
|
+
* 注册自定义投影
|
|
31
|
+
* @returns 注册的投影代码,如果没有注册则返回 undefined
|
|
32
|
+
*/
|
|
33
|
+
protected registerCustomProjection(): string | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* 创建图层的抽象方法,由子类实现
|
|
36
|
+
* 支持同步和异步两种方式
|
|
37
|
+
*/
|
|
38
|
+
abstract createLayer(): Layer<Source> | Promise<Layer<Source>>;
|
|
39
|
+
/**
|
|
40
|
+
* 获取图层实例(同步方法,用于向后兼容)
|
|
41
|
+
*/
|
|
42
|
+
getLayer(): Layer<Source>;
|
|
43
|
+
/**
|
|
44
|
+
* 异步获取图层实例
|
|
45
|
+
*/
|
|
46
|
+
getLayerAsync(): Promise<Layer<Source>>;
|
|
47
|
+
/**
|
|
48
|
+
* 应用通用属性到图层
|
|
49
|
+
*/
|
|
50
|
+
protected applyCommonProperties(): void;
|
|
51
|
+
/**
|
|
52
|
+
* 设置地图实例
|
|
53
|
+
*/
|
|
54
|
+
setMap(map: OLMap): void;
|
|
55
|
+
/**
|
|
56
|
+
* 获取图层配置
|
|
57
|
+
*/
|
|
58
|
+
getConfig(): LayerConfig;
|
|
59
|
+
/**
|
|
60
|
+
* 更新图层配置
|
|
61
|
+
*/
|
|
62
|
+
updateConfig(newConfig: Partial<LayerConfig>): void;
|
|
63
|
+
/**
|
|
64
|
+
* 设置图层透明度
|
|
65
|
+
*/
|
|
66
|
+
setOpacity(opacity: number): void;
|
|
67
|
+
/**
|
|
68
|
+
* 设置图层可见性
|
|
69
|
+
*/
|
|
70
|
+
setVisible(visible: boolean): void;
|
|
71
|
+
/**
|
|
72
|
+
* 根据配置或加载顺序设置图层层级
|
|
73
|
+
* @param baseIndex 基础索引值,默认为0
|
|
74
|
+
* @param increment 递增值,默认为1
|
|
75
|
+
*/
|
|
76
|
+
setZIndexByOrder(baseIndex?: number, increment?: number): void;
|
|
77
|
+
/**
|
|
78
|
+
* 应用图层样式和滤镜
|
|
79
|
+
*/
|
|
80
|
+
protected applyLayerStyles(retryCount?: number): void;
|
|
81
|
+
/**
|
|
82
|
+
* 更新图层样式
|
|
83
|
+
*/
|
|
84
|
+
updateLayerStyles(style?: LayerConfig['style'], filter?: LayerConfig['filter'], customCss?: string): void;
|
|
85
|
+
/**
|
|
86
|
+
* 清除图层样式
|
|
87
|
+
*/
|
|
88
|
+
clearLayerStyles(): void;
|
|
89
|
+
/**
|
|
90
|
+
* 销毁图层
|
|
91
|
+
*/
|
|
92
|
+
destroy(): void;
|
|
93
|
+
/**
|
|
94
|
+
* 添加过滤器
|
|
95
|
+
* @param filter 过滤器配置
|
|
96
|
+
*/
|
|
97
|
+
addFilter(filter: LayerFilter): void;
|
|
98
|
+
/**
|
|
99
|
+
* 移除过滤器
|
|
100
|
+
* @param filterId 过滤器ID
|
|
101
|
+
*/
|
|
102
|
+
removeFilter(filterId: string): void;
|
|
103
|
+
/**
|
|
104
|
+
* 更新过滤器
|
|
105
|
+
* @param filterId 过滤器ID
|
|
106
|
+
* @param updates 更新的配置
|
|
107
|
+
*/
|
|
108
|
+
updateFilter(filterId: string, updates: Partial<LayerFilter>): void;
|
|
109
|
+
/**
|
|
110
|
+
* 获取过滤器
|
|
111
|
+
* @param filterId 过滤器ID
|
|
112
|
+
*/
|
|
113
|
+
getFilter(filterId: string): LayerFilter | undefined;
|
|
114
|
+
/**
|
|
115
|
+
* 获取所有过滤器
|
|
116
|
+
*/
|
|
117
|
+
getAllFilters(): LayerFilter[];
|
|
118
|
+
/**
|
|
119
|
+
* 获取启用的过滤器
|
|
120
|
+
*/
|
|
121
|
+
getEnabledFilters(): LayerFilter[];
|
|
122
|
+
/**
|
|
123
|
+
* 清除所有过滤器
|
|
124
|
+
*/
|
|
125
|
+
clearAllFilters(): void;
|
|
126
|
+
/**
|
|
127
|
+
* 启用/禁用过滤器
|
|
128
|
+
* @param filterId 过滤器ID
|
|
129
|
+
* @param enabled 是否启用
|
|
130
|
+
*/
|
|
131
|
+
toggleFilter(filterId: string, enabled: boolean): void;
|
|
132
|
+
/**
|
|
133
|
+
* 应用过滤器(抽象方法,由子类实现具体逻辑)
|
|
134
|
+
* 不同类型的图层有不同的过滤实现方式
|
|
135
|
+
*/
|
|
136
|
+
protected abstract applyFilters(): void;
|
|
137
|
+
/**
|
|
138
|
+
* 便捷方法:添加属性过滤器
|
|
139
|
+
* @param id 过滤器ID
|
|
140
|
+
* @param property 属性名
|
|
141
|
+
* @param value 过滤值
|
|
142
|
+
* @param operator 操作符
|
|
143
|
+
* @param name 过滤器名称
|
|
144
|
+
*/
|
|
145
|
+
addAttributeFilter(id: string, property: string, value: any, operator?: FilterOperator, name?: string): void;
|
|
146
|
+
/**
|
|
147
|
+
* 便捷方法:添加CQL过滤器(主要用于WMS图层)
|
|
148
|
+
* @param id 过滤器ID
|
|
149
|
+
* @param expression CQL表达式
|
|
150
|
+
* @param name 过滤器名称
|
|
151
|
+
*/
|
|
152
|
+
addCQLFilter(id: string, expression: string, name?: string): void;
|
|
153
|
+
/**
|
|
154
|
+
* 便捷方法:添加自定义过滤器
|
|
155
|
+
* @param id 过滤器ID
|
|
156
|
+
* @param filterFunction 过滤函数
|
|
157
|
+
* @param name 过滤器名称
|
|
158
|
+
* @param params 过滤器参数
|
|
159
|
+
*/
|
|
160
|
+
addCustomFilter(id: string, filterFunction: (feature: any) => boolean, name?: string, params?: Record<string, any>): void;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=BaseLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseLayer.d.ts","sourceRoot":"","sources":["../../../../src/core/layers/BaseLayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Layer } from 'ol/layer';
|
|
2
|
+
import { default as ImageCanvasSource } from 'ol/source/ImageCanvas';
|
|
3
|
+
import { Extent } from 'ol/extent';
|
|
4
|
+
import { Size } from 'ol/size';
|
|
5
|
+
import { BaseLayer } from './BaseLayer';
|
|
6
|
+
import { LayerConfig } from '../../types';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Canvas图层处理器
|
|
10
|
+
* 支持自定义Canvas绘制内容
|
|
11
|
+
*/
|
|
12
|
+
export declare class CanvasLayerHandler extends BaseLayer {
|
|
13
|
+
private canvasFunction?;
|
|
14
|
+
private canvasSize;
|
|
15
|
+
createLayer(): Layer<ImageCanvasSource>;
|
|
16
|
+
/**
|
|
17
|
+
* 获取Canvas绘制函数
|
|
18
|
+
*/
|
|
19
|
+
private getCanvasFunction;
|
|
20
|
+
/**
|
|
21
|
+
* 绘制网格
|
|
22
|
+
*/
|
|
23
|
+
private drawGrid;
|
|
24
|
+
/**
|
|
25
|
+
* 绘制默认内容
|
|
26
|
+
*/
|
|
27
|
+
private drawDefaultContent;
|
|
28
|
+
/**
|
|
29
|
+
* 设置自定义Canvas绘制函数
|
|
30
|
+
*/
|
|
31
|
+
setCanvasFunction(canvasFunction: (extent: Extent, resolution: number, pixelRatio: number, size: Size, projection: any) => HTMLCanvasElement): void;
|
|
32
|
+
/**
|
|
33
|
+
* 设置Canvas尺寸
|
|
34
|
+
*/
|
|
35
|
+
setCanvasSize(size: [number, number]): void;
|
|
36
|
+
/**
|
|
37
|
+
* 刷新图层
|
|
38
|
+
*/
|
|
39
|
+
private refreshLayer;
|
|
40
|
+
/**
|
|
41
|
+
* 更新Canvas配置
|
|
42
|
+
*/
|
|
43
|
+
updateCanvasConfig(config: any): void;
|
|
44
|
+
/**
|
|
45
|
+
* 获取Canvas配置
|
|
46
|
+
*/
|
|
47
|
+
getCanvasConfig(): any;
|
|
48
|
+
/**
|
|
49
|
+
* 更新图层配置
|
|
50
|
+
*/
|
|
51
|
+
updateLayerConfig(config: Partial<LayerConfig>): void;
|
|
52
|
+
/**
|
|
53
|
+
* 清除Canvas内容
|
|
54
|
+
*/
|
|
55
|
+
clearCanvas(): void;
|
|
56
|
+
/**
|
|
57
|
+
* 重绘Canvas
|
|
58
|
+
*/
|
|
59
|
+
redraw(): void;
|
|
60
|
+
/**
|
|
61
|
+
* 应用过滤器(Canvas图层不支持过滤)
|
|
62
|
+
*/
|
|
63
|
+
protected applyFilters(): void;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=CanvasLayerHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasLayerHandler.d.ts","sourceRoot":"","sources":["../../../../src/core/layers/CanvasLayerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,aAAa,CAAC;AAE5D;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,OAAO,CAAC,cAAc,CAAC,CAA6G;IACpI,OAAO,CAAC,UAAU,CAAgC;IAElD,WAAW,IAAI,KAAK,CAAC,iBAAiB,CAAC;IAiBvC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuDzB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAoBhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmC1B;;OAEG;IACH,iBAAiB,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,KAAK,iBAAiB,GAAG,IAAI;IAKnJ;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAK3C;;OAEG;IACH,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI;IAWrC;;OAEG;IACH,eAAe,IAAI,GAAG;IAItB;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAUrD;;OAEG;IACH,WAAW,IAAI,IAAI;IAQnB;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;CAO/B"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Layer } from 'ol/layer';
|
|
2
|
+
import { default as VectorSource } from 'ol/source/Vector';
|
|
3
|
+
import { default as Cluster } from 'ol/source/Cluster';
|
|
4
|
+
import { BaseLayer } from './BaseLayer';
|
|
5
|
+
import { LayerConfig, LayerFilter, FilterOperator } from '../../types';
|
|
6
|
+
import { IStyleConfigMap, IPointStyleConfig } from '../styles';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 聚合图层处理器
|
|
10
|
+
*/
|
|
11
|
+
export declare class ClusterLayerHandler extends BaseLayer {
|
|
12
|
+
private clusterStyleConfig?;
|
|
13
|
+
private singleFeatureStyleConfig?;
|
|
14
|
+
private currentFilters;
|
|
15
|
+
private originalFeatures;
|
|
16
|
+
createLayer(): Layer<Cluster>;
|
|
17
|
+
/**
|
|
18
|
+
* 创建矢量数据源
|
|
19
|
+
*/
|
|
20
|
+
private createVectorSource;
|
|
21
|
+
/**
|
|
22
|
+
* 应用过滤器(实现基类的抽象方法)
|
|
23
|
+
*/
|
|
24
|
+
protected applyFilters(): void;
|
|
25
|
+
/**
|
|
26
|
+
* 检查要素是否符合过滤条件
|
|
27
|
+
*/
|
|
28
|
+
private checkFeatureAgainstFilter;
|
|
29
|
+
/**
|
|
30
|
+
* 检查属性过滤条件
|
|
31
|
+
*/
|
|
32
|
+
private checkAttributeFilter;
|
|
33
|
+
/**
|
|
34
|
+
* 根据属性过滤要素(便捷方法)
|
|
35
|
+
*/
|
|
36
|
+
filterFeaturesByProperty(property: string, value: any, operator?: FilterOperator): void;
|
|
37
|
+
/**
|
|
38
|
+
* 清除所有过滤器
|
|
39
|
+
*/
|
|
40
|
+
clearAllFeatureFilters(): void;
|
|
41
|
+
/**
|
|
42
|
+
* 获取当前应用的过滤器
|
|
43
|
+
*/
|
|
44
|
+
getCurrentFilters(): LayerFilter[];
|
|
45
|
+
/**
|
|
46
|
+
* 获取原始要素数量(未过滤的)
|
|
47
|
+
*/
|
|
48
|
+
getOriginalFeatureCount(): number;
|
|
49
|
+
/**
|
|
50
|
+
* 获取过滤后的要素数量
|
|
51
|
+
*/
|
|
52
|
+
getFilteredFeatureCount(): number;
|
|
53
|
+
/**
|
|
54
|
+
* 创建聚合样式函数
|
|
55
|
+
*/
|
|
56
|
+
private createClusterStyleFunction;
|
|
57
|
+
/**
|
|
58
|
+
* 解析样式配置
|
|
59
|
+
*/
|
|
60
|
+
private parseStyleConfig;
|
|
61
|
+
/**
|
|
62
|
+
* 转换旧的聚类样式配置为新格式
|
|
63
|
+
*/
|
|
64
|
+
private convertLegacyClusterStyle;
|
|
65
|
+
/**
|
|
66
|
+
* 转换旧的单个要素样式配置为新格式
|
|
67
|
+
*/
|
|
68
|
+
private convertLegacySingleFeatureStyle;
|
|
69
|
+
/**
|
|
70
|
+
* 设置聚合距离
|
|
71
|
+
*/
|
|
72
|
+
setDistance(distance: number): void;
|
|
73
|
+
/**
|
|
74
|
+
* 设置最小聚合距离
|
|
75
|
+
*/
|
|
76
|
+
setMinDistance(minDistance: number): void;
|
|
77
|
+
/**
|
|
78
|
+
* 获取原始数据源
|
|
79
|
+
*/
|
|
80
|
+
getVectorSource(): VectorSource | null;
|
|
81
|
+
/**
|
|
82
|
+
* 添加要素到原始数据源
|
|
83
|
+
*/
|
|
84
|
+
addFeatures(features: any[]): void;
|
|
85
|
+
/**
|
|
86
|
+
* 清空要素
|
|
87
|
+
*/
|
|
88
|
+
clearFeatures(): void;
|
|
89
|
+
/**
|
|
90
|
+
* 获取要素数量(原始要素,非聚合后的)
|
|
91
|
+
*/
|
|
92
|
+
getFeatureCount(): number;
|
|
93
|
+
/**
|
|
94
|
+
* 获取聚合后的要素数量
|
|
95
|
+
*/
|
|
96
|
+
getClusterCount(): number;
|
|
97
|
+
/**
|
|
98
|
+
* 更新聚合样式
|
|
99
|
+
*/
|
|
100
|
+
updateClusterStyle(styleConfig: any): void;
|
|
101
|
+
/**
|
|
102
|
+
* 设置聚类样式配置
|
|
103
|
+
*/
|
|
104
|
+
setClusterStyleConfig(clusterStyleConfig: IPointStyleConfig): void;
|
|
105
|
+
/**
|
|
106
|
+
* 设置单个要素样式配置
|
|
107
|
+
*/
|
|
108
|
+
setSingleFeatureStyleConfig(singleFeatureStyleConfig: IStyleConfigMap): void;
|
|
109
|
+
/**
|
|
110
|
+
* 获取当前聚类样式配置
|
|
111
|
+
*/
|
|
112
|
+
getClusterStyleConfig(): IPointStyleConfig | undefined;
|
|
113
|
+
/**
|
|
114
|
+
* 获取当前单个要素样式配置
|
|
115
|
+
*/
|
|
116
|
+
getSingleFeatureStyleConfig(): IStyleConfigMap | undefined;
|
|
117
|
+
/**
|
|
118
|
+
* 更新图层配置
|
|
119
|
+
*/
|
|
120
|
+
updateLayerConfig(config: Partial<LayerConfig>): void;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=ClusterLayerHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClusterLayerHandler.d.ts","sourceRoot":"","sources":["../../../../src/core/layers/ClusterLayerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAMxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAyB,WAAW,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAc,cAAc,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEpE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,OAAO,CAAC,kBAAkB,CAAC,CAAoB;IAC/C,OAAO,CAAC,wBAAwB,CAAC,CAAkB;IACnD,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,gBAAgB,CAA2B;IAEnD,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC;IAgB7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAkC9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAajC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyD5B;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,GAAE,cAAqC,GAAG,IAAI;IAK7G;;OAEG;IACH,sBAAsB,IAAI,IAAI;IAI9B;;OAEG;IACH,iBAAiB,IAAI,WAAW,EAAE;IAIlC;;OAEG;IACH,uBAAuB,IAAI,MAAM;IAIjC;;OAEG;IACH,uBAAuB,IAAI,MAAM;IAKjC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAiBjC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAevC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUnC;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAUzC;;OAEG;IACH,eAAe,IAAI,YAAY,GAAG,IAAI;IAOtC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI;IAwBlC;;OAEG;IACH,aAAa,IAAI,IAAI;IAUrB;;OAEG;IACH,eAAe,IAAI,MAAM;IAKzB;;OAEG;IACH,eAAe,IAAI,MAAM;IAMzB;;OAEG;IACH,kBAAkB,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI;IAc1C;;OAEG;IACH,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,IAAI;IAOlE;;OAEG;IACH,2BAA2B,CAAC,wBAAwB,EAAE,eAAe,GAAG,IAAI;IAO5E;;OAEG;IACH,qBAAqB,IAAI,iBAAiB,GAAG,SAAS;IAItD;;OAEG;IACH,2BAA2B,IAAI,eAAe,GAAG,SAAS;IAI1D;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;CAoBtD"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Map as OLMap, Feature } from 'ol';
|
|
2
|
+
import { default as VectorLayer } from 'ol/layer/Vector';
|
|
3
|
+
import { default as VectorSource } from 'ol/source/Vector';
|
|
4
|
+
import { Geometry } from 'ol/geom';
|
|
5
|
+
import { LayerConfig } from '../../types';
|
|
6
|
+
import { BaseLayer } from './BaseLayer';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* GML图层处理器
|
|
10
|
+
* 支持加载和显示GML格式的矢量数据
|
|
11
|
+
*/
|
|
12
|
+
export declare class GMLLayerHandler extends BaseLayer {
|
|
13
|
+
private vectorSource;
|
|
14
|
+
private gmlFormat;
|
|
15
|
+
constructor(config: LayerConfig, map?: OLMap);
|
|
16
|
+
/**
|
|
17
|
+
* 初始化GML格式处理器
|
|
18
|
+
*/
|
|
19
|
+
private initializeGMLFormat;
|
|
20
|
+
/**
|
|
21
|
+
* 创建图层
|
|
22
|
+
*/
|
|
23
|
+
createLayer(): VectorLayer<VectorSource>;
|
|
24
|
+
/**
|
|
25
|
+
* 创建样式
|
|
26
|
+
*/
|
|
27
|
+
private createStyle;
|
|
28
|
+
/**
|
|
29
|
+
* 获取要素文本
|
|
30
|
+
*/
|
|
31
|
+
private getFeatureText;
|
|
32
|
+
/**
|
|
33
|
+
* 设置事件监听器
|
|
34
|
+
*/
|
|
35
|
+
private setupEventListeners;
|
|
36
|
+
/**
|
|
37
|
+
* 要素加载完成后的处理
|
|
38
|
+
*/
|
|
39
|
+
private onFeaturesLoaded;
|
|
40
|
+
/**
|
|
41
|
+
* 刷新图层数据
|
|
42
|
+
*/
|
|
43
|
+
refresh(): void;
|
|
44
|
+
/**
|
|
45
|
+
* 设置GML URL
|
|
46
|
+
*/
|
|
47
|
+
setUrl(url: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* 设置GML版本
|
|
50
|
+
*/
|
|
51
|
+
setGMLVersion(version: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* 设置坐标系
|
|
54
|
+
*/
|
|
55
|
+
setSrsName(srsName: string): void;
|
|
56
|
+
/**
|
|
57
|
+
* 获取要素数量
|
|
58
|
+
*/
|
|
59
|
+
getFeatureCount(): number;
|
|
60
|
+
/**
|
|
61
|
+
* 获取图层范围
|
|
62
|
+
*/
|
|
63
|
+
getExtent(): number[] | null;
|
|
64
|
+
/**
|
|
65
|
+
* 根据属性筛选要素
|
|
66
|
+
*/
|
|
67
|
+
filterFeatures(property: string, value: any): void;
|
|
68
|
+
/**
|
|
69
|
+
* 清除筛选
|
|
70
|
+
*/
|
|
71
|
+
clearFilter(): void;
|
|
72
|
+
/**
|
|
73
|
+
* 应用过滤器(实现基类的抽象方法)
|
|
74
|
+
*/
|
|
75
|
+
protected applyFilters(): void;
|
|
76
|
+
/**
|
|
77
|
+
* 检查要素是否符合过滤器条件
|
|
78
|
+
*/
|
|
79
|
+
private checkFeatureAgainstFilter;
|
|
80
|
+
/**
|
|
81
|
+
* 检查属性过滤器
|
|
82
|
+
*/
|
|
83
|
+
private checkAttributeFilter;
|
|
84
|
+
/**
|
|
85
|
+
* 便捷方法:按属性值过滤(保持向后兼容)
|
|
86
|
+
* @deprecated 建议使用 addAttributeFilter 方法
|
|
87
|
+
*/
|
|
88
|
+
filterFeaturesByProperty(property: string, value: any): void;
|
|
89
|
+
/**
|
|
90
|
+
* 便捷方法:清除所有过滤器(保持向后兼容)
|
|
91
|
+
* @deprecated 建议使用 clearAllFilters 方法
|
|
92
|
+
*/
|
|
93
|
+
clearAllFeatureFilters(): void;
|
|
94
|
+
/**
|
|
95
|
+
* 获取要素属性信息
|
|
96
|
+
*/
|
|
97
|
+
getFeatureProperties(feature: Feature<Geometry>): Record<string, any>;
|
|
98
|
+
/**
|
|
99
|
+
* 获取GML配置信息
|
|
100
|
+
*/
|
|
101
|
+
getGMLConfig(): any;
|
|
102
|
+
/**
|
|
103
|
+
* 销毁图层
|
|
104
|
+
*/
|
|
105
|
+
destroy(): void;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=GMLLayerHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GMLLayerHandler.d.ts","sourceRoot":"","sources":["../../../../src/core/layers/GMLLayerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAA0D,MAAM,aAAa,CAAC;AAEvG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,SAAS,CAAoB;gBAEzB,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,KAAK;IAK5C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,WAAW,IAAI,WAAW,CAAC,YAAY,CAAC;IAsBxC;;OAEG;IACH,OAAO,CAAC,WAAW;IAmCnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOzB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAqBpC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAqBjC;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI;IAO5B;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAWlD;;OAEG;IACH,WAAW,IAAI,IAAI;IASnB;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAuB9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAejC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiD5B;;;OAGG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAI5D;;;OAGG;IACH,sBAAsB,IAAI,IAAI;IAI9B;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAOrE;;OAEG;IACH,YAAY,IAAI,GAAG;IAQnB;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Layer } from 'ol/layer';
|
|
2
|
+
import { default as VectorSource } from 'ol/source/Vector';
|
|
3
|
+
import { Map as OLMap } from 'ol';
|
|
4
|
+
import { LayerConfig } from '../../types';
|
|
5
|
+
import { BaseLayer } from './BaseLayer';
|
|
6
|
+
import { IStyleConfigMap } from '../styles';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* GeoJSON图层处理器
|
|
10
|
+
*/
|
|
11
|
+
export declare class GeoJSONLayerHandler extends BaseLayer {
|
|
12
|
+
private styleConfig?;
|
|
13
|
+
private currentFilters;
|
|
14
|
+
private originalFeatures;
|
|
15
|
+
constructor(config: LayerConfig, map?: OLMap);
|
|
16
|
+
createLayer(): Layer<VectorSource>;
|
|
17
|
+
/**
|
|
18
|
+
* 创建矢量数据源
|
|
19
|
+
*/
|
|
20
|
+
private createVectorSource;
|
|
21
|
+
/**
|
|
22
|
+
* 创建样式函数
|
|
23
|
+
*/
|
|
24
|
+
private createStyleFunction;
|
|
25
|
+
/**
|
|
26
|
+
* 解析样式配置
|
|
27
|
+
*/
|
|
28
|
+
private parseStyleConfig;
|
|
29
|
+
/**
|
|
30
|
+
* 转换旧的样式配置为新格式
|
|
31
|
+
*/
|
|
32
|
+
private convertLegacyStyle;
|
|
33
|
+
/**
|
|
34
|
+
* 添加要素
|
|
35
|
+
*/
|
|
36
|
+
addFeatures(features: any[]): void;
|
|
37
|
+
/**
|
|
38
|
+
* 清空要素
|
|
39
|
+
*/
|
|
40
|
+
clearFeatures(): void;
|
|
41
|
+
/**
|
|
42
|
+
* 获取要素数量
|
|
43
|
+
*/
|
|
44
|
+
getFeatureCount(): number;
|
|
45
|
+
/**
|
|
46
|
+
* 更新样式
|
|
47
|
+
*/
|
|
48
|
+
updateStyle(styleConfig: any): void;
|
|
49
|
+
/**
|
|
50
|
+
* 设置样式配置
|
|
51
|
+
*/
|
|
52
|
+
setStyleConfig(styleConfig: IStyleConfigMap): void;
|
|
53
|
+
/**
|
|
54
|
+
* 获取当前样式配置
|
|
55
|
+
*/
|
|
56
|
+
getStyleConfig(): IStyleConfigMap | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* 设置基于属性的样式
|
|
59
|
+
*/
|
|
60
|
+
setPropertyBasedStyle(propertyName: string, styleMapping: {
|
|
61
|
+
[propertyValue: string]: IStyleConfigMap;
|
|
62
|
+
}, defaultStyleConfig?: IStyleConfigMap): void;
|
|
63
|
+
/**
|
|
64
|
+
* 定位到图层中的所有要素
|
|
65
|
+
* @param options 定位选项
|
|
66
|
+
*/
|
|
67
|
+
fitToFeatures(options?: {
|
|
68
|
+
padding?: number[];
|
|
69
|
+
maxZoom?: number;
|
|
70
|
+
duration?: number;
|
|
71
|
+
}): void;
|
|
72
|
+
/**
|
|
73
|
+
* 定位到图层中心点
|
|
74
|
+
* @param zoom 缩放级别,可选
|
|
75
|
+
* @param duration 动画持续时间,默认1000ms
|
|
76
|
+
*/
|
|
77
|
+
fitToCenter(zoom?: number, duration?: number): void;
|
|
78
|
+
/**
|
|
79
|
+
* 定位到指定的要素
|
|
80
|
+
* @param featureId 要素ID或索引
|
|
81
|
+
* @param zoom 缩放级别,可选
|
|
82
|
+
* @param duration 动画持续时间,默认1000ms
|
|
83
|
+
*/
|
|
84
|
+
fitToFeature(featureId: string | number, zoom?: number, duration?: number): void;
|
|
85
|
+
/**
|
|
86
|
+
* 获取图层的边界范围
|
|
87
|
+
* @returns 边界范围 [minX, minY, maxX, maxY] 或 null
|
|
88
|
+
*/
|
|
89
|
+
getExtent(): number[] | null;
|
|
90
|
+
/**
|
|
91
|
+
* 应用过滤器(实现基类的抽象方法)
|
|
92
|
+
*/
|
|
93
|
+
protected applyFilters(): void;
|
|
94
|
+
/**
|
|
95
|
+
* 检查要素是否符合过滤器条件
|
|
96
|
+
*/
|
|
97
|
+
private checkFeatureAgainstFilter;
|
|
98
|
+
/**
|
|
99
|
+
* 检查 CQL 过滤器
|
|
100
|
+
* 将 CQL 表达式转换为属性过滤器进行检查
|
|
101
|
+
*/
|
|
102
|
+
private checkCQLFilter;
|
|
103
|
+
/**
|
|
104
|
+
* 解析 CQL 表达式,转换为属性过滤器数组
|
|
105
|
+
* 支持基本的 CQL 语法:property = 'value', property > value, property LIKE 'pattern'
|
|
106
|
+
*/
|
|
107
|
+
private parseCQLExpression;
|
|
108
|
+
/**
|
|
109
|
+
* 解析单个 CQL 条件
|
|
110
|
+
*/
|
|
111
|
+
private parseSingleCQLCondition;
|
|
112
|
+
/**
|
|
113
|
+
* 检查属性过滤器
|
|
114
|
+
*/
|
|
115
|
+
private checkAttributeFilter;
|
|
116
|
+
/**
|
|
117
|
+
* 便捷方法:按属性值过滤
|
|
118
|
+
*/
|
|
119
|
+
filterFeaturesByProperty(property: string, value: any): void;
|
|
120
|
+
/**
|
|
121
|
+
* 便捷方法:清除所有过滤器
|
|
122
|
+
*/
|
|
123
|
+
clearAllFeatureFilters(): void;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=GeoJSONLayerHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeoJSONLayerHandler.d.ts","sourceRoot":"","sources":["../../../../src/core/layers/GeoJSONLayerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAM5C,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAA0D,MAAM,aAAa,CAAC;AAEvG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,gBAAgB,CAA2B;gBAEvC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,KAAK;IAI5C,WAAW,IAAI,KAAK,CAAC,YAAY,CAAC;IAclC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4DxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmD1B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI;IAsBlC;;OAEG;IACH,aAAa,IAAI,IAAI;IAQrB;;OAEG;IACH,eAAe,IAAI,MAAM;IAMzB;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI;IAanC;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI;IAOlD;;OAEG;IACH,cAAc,IAAI,eAAe,GAAG,SAAS;IAI7C;;OAEG;IACH,qBAAqB,CACnB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,EAC1D,kBAAkB,CAAC,EAAE,eAAe,GACnC,IAAI;IAUP;;;OAGG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE;QACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,GAAG,IAAI;IA6DR;;;;OAIG;IACH,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAa,GAAG,IAAI;IAuDzD;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAa,GAAG,IAAI;IAkDtF;;;OAGG;IACH,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI;IA+B5B;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IA6B9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAmD1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA6E/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkD5B;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAI5D;;OAEG;IACH,sBAAsB,IAAI,IAAI;CAG/B"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Layer } from 'ol/layer';
|
|
2
|
+
import { default as VectorSource } from 'ol/source/Vector';
|
|
3
|
+
import { BaseLayer } from './BaseLayer';
|
|
4
|
+
import { LayerFilter, FilterOperator } from '../../types';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 热力图图层处理器
|
|
8
|
+
*/
|
|
9
|
+
export declare class HeatmapLayerHandler extends BaseLayer {
|
|
10
|
+
private currentFilters;
|
|
11
|
+
private originalFeatures;
|
|
12
|
+
createLayer(): Layer<VectorSource>;
|
|
13
|
+
/**
|
|
14
|
+
* 创建矢量数据源
|
|
15
|
+
*/
|
|
16
|
+
private createVectorSource;
|
|
17
|
+
/**
|
|
18
|
+
* 应用过滤器(实现基类的抽象方法)
|
|
19
|
+
*/
|
|
20
|
+
protected applyFilters(): void;
|
|
21
|
+
/**
|
|
22
|
+
* 检查要素是否符合过滤条件
|
|
23
|
+
*/
|
|
24
|
+
private checkFeatureAgainstFilter;
|
|
25
|
+
/**
|
|
26
|
+
* 检查属性过滤条件
|
|
27
|
+
*/
|
|
28
|
+
private checkAttributeFilter;
|
|
29
|
+
/**
|
|
30
|
+
* 根据属性过滤要素(便捷方法)
|
|
31
|
+
*/
|
|
32
|
+
filterFeaturesByProperty(property: string, value: any, operator?: FilterOperator): void;
|
|
33
|
+
/**
|
|
34
|
+
* 清除所有过滤器
|
|
35
|
+
*/
|
|
36
|
+
clearAllFeatureFilters(): void;
|
|
37
|
+
/**
|
|
38
|
+
* 获取当前应用的过滤器
|
|
39
|
+
*/
|
|
40
|
+
getCurrentFilters(): LayerFilter[];
|
|
41
|
+
/**
|
|
42
|
+
* 获取原始要素数量(未过滤的)
|
|
43
|
+
*/
|
|
44
|
+
getOriginalFeatureCount(): number;
|
|
45
|
+
/**
|
|
46
|
+
* 获取过滤后的要素数量
|
|
47
|
+
*/
|
|
48
|
+
getFilteredFeatureCount(): number;
|
|
49
|
+
/**
|
|
50
|
+
* 获取权重函数
|
|
51
|
+
*/
|
|
52
|
+
private getWeightFunction;
|
|
53
|
+
/**
|
|
54
|
+
* 设置模糊半径
|
|
55
|
+
*/
|
|
56
|
+
setBlur(blur: number): void;
|
|
57
|
+
/**
|
|
58
|
+
* 设置热点半径
|
|
59
|
+
*/
|
|
60
|
+
setRadius(radius: number): void;
|
|
61
|
+
/**
|
|
62
|
+
* 设置渐变色
|
|
63
|
+
*/
|
|
64
|
+
setGradient(gradient: string[]): void;
|
|
65
|
+
/**
|
|
66
|
+
* 设置权重属性
|
|
67
|
+
*/
|
|
68
|
+
setWeightProperty(property: string): void;
|
|
69
|
+
/**
|
|
70
|
+
* 添加热点数据
|
|
71
|
+
*/
|
|
72
|
+
addHeatPoints(points: Array<{
|
|
73
|
+
coordinates: number[];
|
|
74
|
+
weight?: number;
|
|
75
|
+
properties?: any;
|
|
76
|
+
}>): void;
|
|
77
|
+
/**
|
|
78
|
+
* 清空热点数据
|
|
79
|
+
*/
|
|
80
|
+
clearHeatPoints(): void;
|
|
81
|
+
/**
|
|
82
|
+
* 获取热点数量
|
|
83
|
+
*/
|
|
84
|
+
getHeatPointCount(): number;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=HeatmapLayerHandler.d.ts.map
|