vue-openlayers-plugin 1.0.82 → 1.0.85
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-3f78db9f.mjs +280 -0
- package/lib/CoordinateLocationDialog-d265fbae.mjs +263 -0
- package/lib/FilterPanel-136dc7d8.mjs +6 -0
- package/lib/LayerPanel-58997ef0.mjs +6 -0
- package/lib/MapPrintDialog-6ed0e095.mjs +6 -0
- package/lib/MeasurementDialog-b86c21c6.mjs +369 -0
- package/lib/MyMarkersDialog-fbbd0aeb.mjs +584 -0
- package/lib/RegionNavigationDialog-0808549f.mjs +1320 -0
- package/lib/ViewBookmarksDialog-94010687.mjs +723 -0
- package/lib/index-14efa785.mjs +756 -0
- package/lib/{index-61901e1f.mjs → index-5a13e877.mjs} +50503 -53903
- package/lib/index-5b1583d0.mjs +839 -0
- package/lib/{index.es-c17b5917.mjs → index.es-0c397170.mjs} +1 -1
- package/lib/index.esm.js +65 -56
- package/lib/index.umd.js +73180 -71503
- package/lib/style.css +1705 -1704
- package/package.json +11 -5
- 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/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,110 @@
|
|
|
1
|
+
import { Map as OlMap, Feature } from 'ol';
|
|
2
|
+
import { Coordinate } from 'ol/coordinate';
|
|
3
|
+
import { PopupConfig, PopupManagerConfig, PopupType } from '../components/OlMapPopup/types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Popup 管理器类
|
|
7
|
+
* 负责创建、管理和销毁不同类型的 popup 实例
|
|
8
|
+
* 支持按图层分组管理 popup
|
|
9
|
+
*/
|
|
10
|
+
export declare class PopupManager {
|
|
11
|
+
private map;
|
|
12
|
+
private config;
|
|
13
|
+
private activePopups;
|
|
14
|
+
private layerPopups;
|
|
15
|
+
private layerConfigs;
|
|
16
|
+
private popupCounter;
|
|
17
|
+
constructor(map: OlMap, config?: PopupManagerConfig);
|
|
18
|
+
/**
|
|
19
|
+
* 创建并显示 popup
|
|
20
|
+
*/
|
|
21
|
+
createPopup(type: PopupType, config: PopupConfig, coordinate: Coordinate, feature?: Feature, layerId?: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* 设置图层级别的 popup 配置
|
|
24
|
+
*/
|
|
25
|
+
setLayerPopupConfig(layerId: string, config: PopupManagerConfig): void;
|
|
26
|
+
/**
|
|
27
|
+
* 获取图层级别的 popup 配置
|
|
28
|
+
*/
|
|
29
|
+
getLayerPopupConfig(layerId: string): PopupManagerConfig | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* 关闭指定图层的最旧 popup
|
|
32
|
+
*/
|
|
33
|
+
private closeOldestPopupInLayer;
|
|
34
|
+
/**
|
|
35
|
+
* 关闭指定图层的所有 popup
|
|
36
|
+
*/
|
|
37
|
+
closeLayerPopups(layerId: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* 关闭指定的 popup
|
|
40
|
+
*/
|
|
41
|
+
closePopup(popupId: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* 关闭所有 popup
|
|
44
|
+
*/
|
|
45
|
+
closeAllPopups(): void;
|
|
46
|
+
/**
|
|
47
|
+
* 替换当前的 popup(避免闪烁)
|
|
48
|
+
*/
|
|
49
|
+
replacePopup(type: PopupType, config: PopupConfig, coordinate: Coordinate, feature?: Feature): string;
|
|
50
|
+
/**
|
|
51
|
+
* 更新 popup 位置
|
|
52
|
+
*/
|
|
53
|
+
updatePopupPosition(popupId: string, coordinate: Coordinate): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* 获取活动的 popup 数量
|
|
56
|
+
*/
|
|
57
|
+
getActivePopupCount(): number;
|
|
58
|
+
/**
|
|
59
|
+
* 获取所有活动的 popup ID
|
|
60
|
+
*/
|
|
61
|
+
getActivePopupIds(): string[];
|
|
62
|
+
/**
|
|
63
|
+
* 检查指定 popup 是否存在
|
|
64
|
+
*/
|
|
65
|
+
hasPopup(popupId: string): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* 销毁管理器
|
|
68
|
+
*/
|
|
69
|
+
destroy(): void;
|
|
70
|
+
/**
|
|
71
|
+
* 创建 popup 实例
|
|
72
|
+
*/
|
|
73
|
+
private createPopupInstance;
|
|
74
|
+
/**
|
|
75
|
+
* 显示 popup
|
|
76
|
+
*/
|
|
77
|
+
private showPopup;
|
|
78
|
+
/**
|
|
79
|
+
* 隐藏 popup
|
|
80
|
+
*/
|
|
81
|
+
private hidePopup;
|
|
82
|
+
/**
|
|
83
|
+
* 销毁 popup
|
|
84
|
+
*/
|
|
85
|
+
private destroyPopup;
|
|
86
|
+
/**
|
|
87
|
+
* 关闭最旧的 popup
|
|
88
|
+
*/
|
|
89
|
+
private closeOldestPopup;
|
|
90
|
+
/**
|
|
91
|
+
* 生成唯一的 popup ID
|
|
92
|
+
*/
|
|
93
|
+
private generatePopupId;
|
|
94
|
+
/**
|
|
95
|
+
* 处理地图点击事件
|
|
96
|
+
* 注意:此方法现在由 MapContainer 控制调用时机
|
|
97
|
+
* 只有在点击空白区域(非要素)时才会被调用
|
|
98
|
+
*/
|
|
99
|
+
private handleMapClick;
|
|
100
|
+
/**
|
|
101
|
+
* 动态合并图层配置(用于单次popup创建)
|
|
102
|
+
*/
|
|
103
|
+
private mergeConfigForLayer;
|
|
104
|
+
}
|
|
105
|
+
export declare function createPopupManager(map: OlMap, config?: PopupManagerConfig, globalPopupConfig?: PopupManagerConfig): PopupManager;
|
|
106
|
+
/**
|
|
107
|
+
* 默认导出
|
|
108
|
+
*/
|
|
109
|
+
export default PopupManager;
|
|
110
|
+
//# sourceMappingURL=PopupManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopupManager.d.ts","sourceRoot":"","sources":["../../../src/core/PopupManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAE5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAK/C,OAAO,KAAK,EACV,WAAW,EAEX,kBAAkB,EAClB,SAAS,EAOV,MAAM,gCAAgC,CAAA;AAEvC;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAO;IAClB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,YAAY,CAAI;gBAEZ,GAAG,EAAE,KAAK,EAAE,MAAM,GAAE,kBAAuB;IAoBvD;;OAEG;IACI,WAAW,CAChB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM;IAyET;;OAEG;IACI,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAI7E;;OAEG;IACI,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI3E;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;OAEG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS9C;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAuB3C;;OAEG;IACI,cAAc,IAAI,IAAI;IAQ7B;;OAEG;IACI,YAAY,CACjB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM;IAgBT;;OAEG;IACI,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO;IAS5E;;OAEG;IACI,mBAAmB,IAAI,MAAM;IAIpC;;OAEG;IACI,iBAAiB,IAAI,MAAM,EAAE;IAIpC;;OAEG;IACI,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIzC;;OAEG;IACI,OAAO,IAAI,IAAI;IAStB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiL3B;;OAEG;IACH,OAAO,CAAC,SAAS;IAYjB;;OAEG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAoB5B;AAiDD,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,KAAK,EACV,MAAM,CAAC,EAAE,kBAAkB,EAC3B,iBAAiB,CAAC,EAAE,kBAAkB,GACrC,YAAY,CAId;AAED;;GAEG;AACH,eAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Map as OlMap, Feature } from 'ol';
|
|
2
|
+
import { SearchResult, MapSearchConfig } from '../types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 搜索标记管理器
|
|
6
|
+
*/
|
|
7
|
+
export declare class SearchMarkerManager {
|
|
8
|
+
private map;
|
|
9
|
+
private config;
|
|
10
|
+
private markerLayer;
|
|
11
|
+
private markerSource;
|
|
12
|
+
private currentMarkers;
|
|
13
|
+
private selectedMarker;
|
|
14
|
+
constructor(map: OlMap, config: MapSearchConfig);
|
|
15
|
+
/**
|
|
16
|
+
* 添加搜索结果标记
|
|
17
|
+
*/
|
|
18
|
+
addSearchMarkers(results: SearchResult[]): void;
|
|
19
|
+
/**
|
|
20
|
+
* 添加单个搜索结果标记(累积添加,不清除现有标记)
|
|
21
|
+
*/
|
|
22
|
+
addMarker(result: SearchResult): void;
|
|
23
|
+
/**
|
|
24
|
+
* 定位到搜索结果
|
|
25
|
+
*/
|
|
26
|
+
flyToResult(result: SearchResult, zoomLevel?: number): void;
|
|
27
|
+
/**
|
|
28
|
+
* 创建单个标记
|
|
29
|
+
*/
|
|
30
|
+
private createMarker;
|
|
31
|
+
/**
|
|
32
|
+
* 创建标记样式
|
|
33
|
+
*/
|
|
34
|
+
private createMarkerStyle;
|
|
35
|
+
/**
|
|
36
|
+
* 创建自定义图标样式
|
|
37
|
+
*/
|
|
38
|
+
private createIconStyle;
|
|
39
|
+
/**
|
|
40
|
+
* 创建SVG图标
|
|
41
|
+
*/
|
|
42
|
+
private createSVGIcon;
|
|
43
|
+
/**
|
|
44
|
+
* 定位到搜索结果
|
|
45
|
+
*/
|
|
46
|
+
locateToResult(result: SearchResult, zoomLevel?: number): void;
|
|
47
|
+
/**
|
|
48
|
+
* 高亮标记
|
|
49
|
+
*/
|
|
50
|
+
private highlightMarker;
|
|
51
|
+
/**
|
|
52
|
+
* 适应所有标记的视图
|
|
53
|
+
*/
|
|
54
|
+
fitToMarkers(padding?: number[]): void;
|
|
55
|
+
/**
|
|
56
|
+
* 添加区域标记(如果搜索结果包含边界信息)
|
|
57
|
+
*/
|
|
58
|
+
addAreaMarker(result: SearchResult): void;
|
|
59
|
+
/**
|
|
60
|
+
* 清除所有标记
|
|
61
|
+
*/
|
|
62
|
+
clearMarkers(): void;
|
|
63
|
+
/**
|
|
64
|
+
* 获取标记点击事件处理器
|
|
65
|
+
*/
|
|
66
|
+
getMarkerClickHandler(): (event: any) => SearchResult | null;
|
|
67
|
+
/**
|
|
68
|
+
* 设置标记可见性
|
|
69
|
+
*/
|
|
70
|
+
setVisible(visible: boolean): void;
|
|
71
|
+
/**
|
|
72
|
+
* 获取当前标记数量
|
|
73
|
+
*/
|
|
74
|
+
getMarkerCount(): number;
|
|
75
|
+
/**
|
|
76
|
+
* 获取指定索引的标记
|
|
77
|
+
*/
|
|
78
|
+
getMarkerByIndex(index: number): Feature | null;
|
|
79
|
+
/**
|
|
80
|
+
* 获取所有搜索结果
|
|
81
|
+
*/
|
|
82
|
+
getAllResults(): SearchResult[];
|
|
83
|
+
/**
|
|
84
|
+
* 更新配置
|
|
85
|
+
*/
|
|
86
|
+
updateConfig(config: MapSearchConfig): void;
|
|
87
|
+
/**
|
|
88
|
+
* 销毁管理器
|
|
89
|
+
*/
|
|
90
|
+
destroy(): void;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* 创建搜索标记管理器
|
|
94
|
+
*/
|
|
95
|
+
export declare function createSearchMarkerManager(map: OlMap, config: MapSearchConfig): SearchMarkerManager;
|
|
96
|
+
//# sourceMappingURL=SearchMarkerManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchMarkerManager.d.ts","sourceRoot":"","sources":["../../../src/core/SearchMarkerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,IAAI,CAAA;AAGjC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAI5B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE7D;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,GAAG,CAAO;IAClB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,cAAc,CAAuB;gBAEjC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe;IAe/C;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAY/C;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IASrC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IA4B3D;;OAEG;IACH,OAAO,CAAC,YAAY;IAyBpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IA6B9D;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;OAEG;IACH,YAAY,CAAC,OAAO,GAAE,MAAM,EAAqB,GAAG,IAAI;IAmBxD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IA6CzC;;OAEG;IACH,YAAY,IAAI,IAAI;IAMpB;;OAEG;IACH,qBAAqB,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,YAAY,GAAG,IAAI;IAgB5D;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAI/C;;OAEG;IACH,aAAa,IAAI,YAAY,EAAE;IAI/B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAa3C;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,GAAG,mBAAmB,CAElG"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Map } from 'ol';
|
|
2
|
+
import { default as Overlay } from 'ol/Overlay';
|
|
3
|
+
import { Coordinate } from 'ol/coordinate';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Tooltip 样式配置接口
|
|
7
|
+
*/
|
|
8
|
+
export interface TooltipStyleConfig {
|
|
9
|
+
backgroundColor?: string;
|
|
10
|
+
borderColor?: string;
|
|
11
|
+
borderWidth?: number;
|
|
12
|
+
borderRadius?: number;
|
|
13
|
+
padding?: string;
|
|
14
|
+
fontSize?: number;
|
|
15
|
+
fontColor?: string;
|
|
16
|
+
opacity?: number;
|
|
17
|
+
shadow?: string;
|
|
18
|
+
fontWeight?: string;
|
|
19
|
+
whiteSpace?: string;
|
|
20
|
+
userSelect?: string;
|
|
21
|
+
pointerEvents?: string;
|
|
22
|
+
zIndex?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Tooltip 配置接口
|
|
26
|
+
*/
|
|
27
|
+
export interface TooltipConfig {
|
|
28
|
+
offset?: [number, number];
|
|
29
|
+
positioning?: 'bottom-left' | 'bottom-center' | 'bottom-right' | 'center-left' | 'center-center' | 'center-right' | 'top-left' | 'top-center' | 'top-right';
|
|
30
|
+
stopEvent?: boolean;
|
|
31
|
+
insertFirst?: boolean;
|
|
32
|
+
className?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 通用 Tooltip 帮助工具类
|
|
36
|
+
* 提供创建和管理鼠标跟随提示的功能
|
|
37
|
+
*/
|
|
38
|
+
export declare class TooltipHelper {
|
|
39
|
+
private map;
|
|
40
|
+
private tooltipElement;
|
|
41
|
+
private tooltip;
|
|
42
|
+
private defaultStyle;
|
|
43
|
+
private defaultConfig;
|
|
44
|
+
private pointerMoveListener;
|
|
45
|
+
private animationFrameId;
|
|
46
|
+
private pendingCoordinate;
|
|
47
|
+
constructor(map: Map);
|
|
48
|
+
/**
|
|
49
|
+
* 创建 Tooltip
|
|
50
|
+
* @param styleConfig 样式配置
|
|
51
|
+
* @param config Tooltip 配置
|
|
52
|
+
*/
|
|
53
|
+
createTooltip(styleConfig?: Partial<TooltipStyleConfig>, config?: Partial<TooltipConfig>): void;
|
|
54
|
+
/**
|
|
55
|
+
* 应用样式到元素
|
|
56
|
+
* @param element HTML 元素
|
|
57
|
+
* @param style 样式配置
|
|
58
|
+
*/
|
|
59
|
+
private applyStyles;
|
|
60
|
+
/**
|
|
61
|
+
* 更新 Tooltip 文本内容
|
|
62
|
+
* @param text 文本内容
|
|
63
|
+
*/
|
|
64
|
+
updateText(text: string): void;
|
|
65
|
+
/**
|
|
66
|
+
* 更新 Tooltip 位置
|
|
67
|
+
* @param coordinate 坐标
|
|
68
|
+
*/
|
|
69
|
+
updatePosition(coordinate: Coordinate): void;
|
|
70
|
+
/**
|
|
71
|
+
* 显示 Tooltip
|
|
72
|
+
* @param mode 绘制模式
|
|
73
|
+
*/
|
|
74
|
+
show(mode?: DrawingMode): void;
|
|
75
|
+
/**
|
|
76
|
+
* 隐藏 Tooltip
|
|
77
|
+
*/
|
|
78
|
+
hide(): void;
|
|
79
|
+
/**
|
|
80
|
+
* 隐藏提示框(别名方法,兼容性)
|
|
81
|
+
*/
|
|
82
|
+
hideTooltip(): void;
|
|
83
|
+
/**
|
|
84
|
+
* 显示 tooltip(别名方法)
|
|
85
|
+
*/
|
|
86
|
+
showTooltip(text: string): void;
|
|
87
|
+
/**
|
|
88
|
+
* 销毁 Tooltip
|
|
89
|
+
*/
|
|
90
|
+
destroyTooltip(): void;
|
|
91
|
+
/**
|
|
92
|
+
* 获取当前 Tooltip 元素
|
|
93
|
+
*/
|
|
94
|
+
getTooltipElement(): HTMLElement | null;
|
|
95
|
+
/**
|
|
96
|
+
* 获取当前 Tooltip Overlay
|
|
97
|
+
*/
|
|
98
|
+
getTooltip(): Overlay | null;
|
|
99
|
+
/**
|
|
100
|
+
* 检查 Tooltip 是否存在
|
|
101
|
+
*/
|
|
102
|
+
exists(): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* 设置默认样式配置
|
|
105
|
+
* @param style 样式配置
|
|
106
|
+
*/
|
|
107
|
+
setDefaultStyle(style: Partial<TooltipStyleConfig>): void;
|
|
108
|
+
/**
|
|
109
|
+
* 设置默认配置
|
|
110
|
+
* @param config 配置
|
|
111
|
+
*/
|
|
112
|
+
setDefaultConfig(config: Partial<TooltipConfig>): void;
|
|
113
|
+
/**
|
|
114
|
+
* 添加鼠标移动监听器(带requestAnimationFrame优化)
|
|
115
|
+
*/
|
|
116
|
+
private addPointerMoveListener;
|
|
117
|
+
/**
|
|
118
|
+
* 移除鼠标移动监听器
|
|
119
|
+
*/
|
|
120
|
+
private removePointerMoveListener;
|
|
121
|
+
/**
|
|
122
|
+
* 销毁工具类
|
|
123
|
+
*/
|
|
124
|
+
destroy(): void;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* 标绘模式类型定义
|
|
128
|
+
*/
|
|
129
|
+
export type DrawingMode = "point" | "line" | "polygon" | "circle" | "rectangle" | "star" | "text" | "multipoint" | "multilinestring" | "multipolygon" | "select" | "modify" | "none";
|
|
130
|
+
/**
|
|
131
|
+
* 创建标绘模式的鼠标跟随提示文本
|
|
132
|
+
*/
|
|
133
|
+
export declare const DrawingTooltipTexts: Record<DrawingMode, string>;
|
|
134
|
+
//# sourceMappingURL=TooltipHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TooltipHelper.d.ts","sourceRoot":"","sources":["../../../src/core/TooltipHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { SearchResult } from '../types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 高德地图搜索API类
|
|
5
|
+
*/
|
|
6
|
+
export declare class AmapSearchApi {
|
|
7
|
+
private apiKey;
|
|
8
|
+
private securityKey;
|
|
9
|
+
private baseUrl;
|
|
10
|
+
constructor(apiKey?: string, securityKey?: string);
|
|
11
|
+
/**
|
|
12
|
+
* 搜索地址或POI
|
|
13
|
+
* @param query 搜索关键词
|
|
14
|
+
* @param options 搜索选项
|
|
15
|
+
*/
|
|
16
|
+
search(query: string, options?: {
|
|
17
|
+
maxResults?: number;
|
|
18
|
+
region?: string;
|
|
19
|
+
type?: "all" | "poi" | "bus" | "busline";
|
|
20
|
+
city?: string;
|
|
21
|
+
}): Promise<SearchResult[]>;
|
|
22
|
+
/**
|
|
23
|
+
* 获取模拟搜索结果
|
|
24
|
+
* @param query 搜索关键词
|
|
25
|
+
* @param maxResults 最大结果数
|
|
26
|
+
*/
|
|
27
|
+
private getMockSearchResults;
|
|
28
|
+
/**
|
|
29
|
+
* 获取搜索建议
|
|
30
|
+
* @param query 搜索关键词
|
|
31
|
+
* @param options 搜索选项
|
|
32
|
+
*/
|
|
33
|
+
getSuggestions(query: string, options?: {
|
|
34
|
+
maxResults?: number;
|
|
35
|
+
city?: string;
|
|
36
|
+
}): Promise<string[]>;
|
|
37
|
+
/**
|
|
38
|
+
* 转换高德地图搜索结果为标准格式
|
|
39
|
+
*/
|
|
40
|
+
private transformResults;
|
|
41
|
+
/**
|
|
42
|
+
* 根据类型码获取POI类型
|
|
43
|
+
*/
|
|
44
|
+
private getPOIType;
|
|
45
|
+
/**
|
|
46
|
+
* 计算搜索结果的置信度
|
|
47
|
+
*/
|
|
48
|
+
private calculateConfidence;
|
|
49
|
+
/**
|
|
50
|
+
* 逆地理编码 - 根据坐标获取地址
|
|
51
|
+
* @param coordinates 经纬度坐标 [lon, lat]
|
|
52
|
+
*/
|
|
53
|
+
reverseGeocode(coordinates: [number, number]): Promise<string>;
|
|
54
|
+
}
|
|
55
|
+
export declare const amapSearchApi: AmapSearchApi;
|
|
56
|
+
export declare function createAmapSearchApi(apiKey: string, securityKey?: string): AmapSearchApi;
|
|
57
|
+
//# sourceMappingURL=amapSearchApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amapSearchApi.d.ts","sourceRoot":"","sources":["../../../src/core/amapSearchApi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AA2E5C;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAMjD;;;;OAIG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;QACxC,IAAI,CAAC,EAAE,MAAM,CAAA;KACT,GACL,OAAO,CAAC,YAAY,EAAE,CAAC;IAmB1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAyC5B;;;;OAIG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,IAAI,CAAC,EAAE,MAAM,CAAA;KACT,GACL,OAAO,CAAC,MAAM,EAAE,CAAC;IA6BpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiExB;;OAEG;IACH,OAAO,CAAC,UAAU;IAmLlB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;;OAGG;IACG,cAAc,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAgCrE;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAA;AAGhD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa,CAEvF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Map } from 'ol';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 底图类型定义
|
|
5
|
+
*/
|
|
6
|
+
export type BasemapType = "osm" | "tianditu-img" | "tianditu-vec" | "gaode-img" | "gaode-vec" | "baidu-img" | "baidu-vec" | "tencent-img" | "tencent-vec" | "custom";
|
|
7
|
+
/**
|
|
8
|
+
* 底图配置接口
|
|
9
|
+
*/
|
|
10
|
+
export interface BasemapConfig {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
type: BasemapType;
|
|
14
|
+
url?: string;
|
|
15
|
+
thumbnail: string;
|
|
16
|
+
attribution?: string;
|
|
17
|
+
tk?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 底图管理器类
|
|
21
|
+
* 负责管理地图底图的切换和配置
|
|
22
|
+
*/
|
|
23
|
+
export declare class BasemapManager {
|
|
24
|
+
private map;
|
|
25
|
+
private currentBasemap;
|
|
26
|
+
constructor(map: Map);
|
|
27
|
+
/**
|
|
28
|
+
* 切换底图
|
|
29
|
+
* @param basemap 底图配置
|
|
30
|
+
*/
|
|
31
|
+
switchBasemap(basemap: BasemapConfig): void;
|
|
32
|
+
/**
|
|
33
|
+
* 创建底图图层
|
|
34
|
+
* @param basemap 底图配置
|
|
35
|
+
* @returns 底图图层
|
|
36
|
+
*/
|
|
37
|
+
private createBasemapLayer;
|
|
38
|
+
/**
|
|
39
|
+
* 移除当前底图图层
|
|
40
|
+
*/
|
|
41
|
+
private removeCurrentBasemap;
|
|
42
|
+
/**
|
|
43
|
+
* 获取当前底图配置
|
|
44
|
+
* @returns 当前底图配置
|
|
45
|
+
*/
|
|
46
|
+
getCurrentBasemap(): BasemapConfig | null;
|
|
47
|
+
/**
|
|
48
|
+
* 获取默认底图列表
|
|
49
|
+
* @returns 默认底图配置数组
|
|
50
|
+
*/
|
|
51
|
+
getDefaultBasemaps(): BasemapConfig[];
|
|
52
|
+
/**
|
|
53
|
+
* 销毁底图管理器
|
|
54
|
+
*/
|
|
55
|
+
destroy(): void;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 创建底图管理器实例
|
|
59
|
+
* @param map 地图实例
|
|
60
|
+
* @returns 底图管理器实例
|
|
61
|
+
*/
|
|
62
|
+
export declare function createBasemapManager(map: Map): BasemapManager;
|
|
63
|
+
//# sourceMappingURL=basemapManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basemapManager.d.ts","sourceRoot":"","sources":["../../../src/core/basemapManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC;AAMzB;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,cAAc,GACd,cAAc,GACd,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,aAAa,GACb,aAAa,GACb,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,cAAc,CAA8B;gBAExC,GAAG,EAAE,GAAG;IAIpB;;;OAGG;IACI,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IA0BlD;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAiG1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;OAGG;IACI,iBAAiB,IAAI,aAAa,GAAG,IAAI;IAIhD;;;OAGG;IACI,kBAAkB,IAAI,aAAa,EAAE;IA2D5C;;OAEG;IACI,OAAO,IAAI,IAAI;CAIvB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAE7D"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { MapConfig, LayerConfig, MapControlsConfig } from '../types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 配置文件接口
|
|
5
|
+
*/
|
|
6
|
+
export interface OpenLayersConfig {
|
|
7
|
+
view?: {
|
|
8
|
+
center?: [number, number];
|
|
9
|
+
zoom?: number;
|
|
10
|
+
minZoom?: number;
|
|
11
|
+
maxZoom?: number;
|
|
12
|
+
projection?: string;
|
|
13
|
+
extent?: [number, number, number, number];
|
|
14
|
+
enableRotation?: boolean;
|
|
15
|
+
};
|
|
16
|
+
controls?: MapControlsConfig;
|
|
17
|
+
baseLayers?: LayerConfig[];
|
|
18
|
+
overlayLayers?: LayerConfig[];
|
|
19
|
+
vectorLayers?: LayerConfig[];
|
|
20
|
+
interactions?: {
|
|
21
|
+
doubleClickZoom?: boolean;
|
|
22
|
+
dragAndDrop?: boolean;
|
|
23
|
+
dragPan?: boolean;
|
|
24
|
+
keyboardPan?: boolean;
|
|
25
|
+
keyboardZoom?: boolean;
|
|
26
|
+
mouseWheelZoom?: boolean;
|
|
27
|
+
pointer?: boolean;
|
|
28
|
+
select?: boolean;
|
|
29
|
+
};
|
|
30
|
+
popup?: {
|
|
31
|
+
enabled?: boolean;
|
|
32
|
+
closeButton?: boolean;
|
|
33
|
+
positioning?: string;
|
|
34
|
+
autoPan?: boolean;
|
|
35
|
+
};
|
|
36
|
+
layerSwitcher?: {
|
|
37
|
+
enabled?: boolean;
|
|
38
|
+
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
39
|
+
collapsible?: boolean;
|
|
40
|
+
};
|
|
41
|
+
measurement?: {
|
|
42
|
+
enabled?: boolean;
|
|
43
|
+
tools?: ('length' | 'area' | 'angle')[];
|
|
44
|
+
units?: {
|
|
45
|
+
length?: 'metric' | 'imperial';
|
|
46
|
+
area?: 'metric' | 'imperial';
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
drawing?: {
|
|
50
|
+
enabled?: boolean;
|
|
51
|
+
tools?: ('point' | 'line' | 'polygon' | 'circle' | 'rectangle')[];
|
|
52
|
+
styles?: {
|
|
53
|
+
stroke?: {
|
|
54
|
+
color?: string;
|
|
55
|
+
width?: number;
|
|
56
|
+
};
|
|
57
|
+
fill?: {
|
|
58
|
+
color?: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 配置加载器类
|
|
65
|
+
*/
|
|
66
|
+
export declare class ConfigLoader {
|
|
67
|
+
/**
|
|
68
|
+
* 从URL加载配置文件
|
|
69
|
+
* @param configUrl 配置文件URL
|
|
70
|
+
* @returns Promise<OpenLayersConfig>
|
|
71
|
+
*/
|
|
72
|
+
static loadFromUrl(configUrl: string): Promise<OpenLayersConfig>;
|
|
73
|
+
/**
|
|
74
|
+
* 从JSON字符串加载配置
|
|
75
|
+
* @param configJson JSON字符串
|
|
76
|
+
* @returns OpenLayersConfig
|
|
77
|
+
*/
|
|
78
|
+
static loadFromJson(configJson: string): OpenLayersConfig;
|
|
79
|
+
/**
|
|
80
|
+
* 从配置对象加载
|
|
81
|
+
* @param config 配置对象
|
|
82
|
+
* @returns OpenLayersConfig
|
|
83
|
+
*/
|
|
84
|
+
static loadFromObject(config: any): OpenLayersConfig;
|
|
85
|
+
/**
|
|
86
|
+
* 验证配置对象
|
|
87
|
+
* @param config 原始配置对象
|
|
88
|
+
* @returns OpenLayersConfig
|
|
89
|
+
*/
|
|
90
|
+
private static validateConfig;
|
|
91
|
+
/**
|
|
92
|
+
* 将配置转换为MapConfig
|
|
93
|
+
* @param config OpenLayers配置
|
|
94
|
+
* @returns MapConfig
|
|
95
|
+
*/
|
|
96
|
+
static toMapConfig(config: OpenLayersConfig): Partial<MapConfig>;
|
|
97
|
+
/**
|
|
98
|
+
* 获取所有图层配置
|
|
99
|
+
* @param config OpenLayers配置
|
|
100
|
+
* @returns LayerConfig[]
|
|
101
|
+
*/
|
|
102
|
+
static getAllLayers(config: OpenLayersConfig): LayerConfig[];
|
|
103
|
+
/**
|
|
104
|
+
* 获取功能配置
|
|
105
|
+
* @param config OpenLayers配置
|
|
106
|
+
* @returns 功能配置对象
|
|
107
|
+
*/
|
|
108
|
+
static getFeatureConfig(config: OpenLayersConfig): {
|
|
109
|
+
measurement: {
|
|
110
|
+
enabled?: boolean | undefined;
|
|
111
|
+
tools?: ("area" | "length" | "angle")[] | undefined;
|
|
112
|
+
units?: {
|
|
113
|
+
length?: "metric" | "imperial" | undefined;
|
|
114
|
+
area?: "metric" | "imperial" | undefined;
|
|
115
|
+
} | undefined;
|
|
116
|
+
};
|
|
117
|
+
drawing: {
|
|
118
|
+
enabled?: boolean | undefined;
|
|
119
|
+
tools?: ("circle" | "line" | "polygon" | "point" | "rectangle")[] | undefined;
|
|
120
|
+
styles?: {
|
|
121
|
+
stroke?: {
|
|
122
|
+
color?: string | undefined;
|
|
123
|
+
width?: number | undefined;
|
|
124
|
+
} | undefined;
|
|
125
|
+
fill?: {
|
|
126
|
+
color?: string | undefined;
|
|
127
|
+
} | undefined;
|
|
128
|
+
} | undefined;
|
|
129
|
+
};
|
|
130
|
+
layerSwitcher: {
|
|
131
|
+
enabled?: boolean | undefined;
|
|
132
|
+
position?: "bottom-left" | "bottom-right" | "top-left" | "top-right" | undefined;
|
|
133
|
+
collapsible?: boolean | undefined;
|
|
134
|
+
};
|
|
135
|
+
popup: {
|
|
136
|
+
enabled?: boolean | undefined;
|
|
137
|
+
closeButton?: boolean | undefined;
|
|
138
|
+
positioning?: string | undefined;
|
|
139
|
+
autoPan?: boolean | undefined;
|
|
140
|
+
};
|
|
141
|
+
interactions: {
|
|
142
|
+
doubleClickZoom?: boolean | undefined;
|
|
143
|
+
dragAndDrop?: boolean | undefined;
|
|
144
|
+
dragPan?: boolean | undefined;
|
|
145
|
+
keyboardPan?: boolean | undefined;
|
|
146
|
+
keyboardZoom?: boolean | undefined;
|
|
147
|
+
mouseWheelZoom?: boolean | undefined;
|
|
148
|
+
pointer?: boolean | undefined;
|
|
149
|
+
select?: boolean | undefined;
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* 生成默认配置
|
|
154
|
+
* @returns OpenLayersConfig
|
|
155
|
+
*/
|
|
156
|
+
static getDefaultConfig(): OpenLayersConfig;
|
|
157
|
+
}
|
|
158
|
+
export default ConfigLoader;
|
|
159
|
+
//# sourceMappingURL=configLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configLoader.d.ts","sourceRoot":"","sources":["../../../src/core/configLoader.ts"],"names":[],"mappings":"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"}
|