@vtx/ol-map 1.0.154 → 1.0.156
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/dom/index.js +16 -1
- package/lib/dom/index.js.map +1 -1
- package/lib/dom-layer/index.js +250 -0
- package/lib/dom-layer/index.js.map +1 -0
- package/lib/dom-layer/style/css.js +4 -0
- package/lib/dom-layer/style/css.js.map +1 -0
- package/lib/dom-layer/style/index.css +3 -0
- package/lib/dom-layer/style/index.js +4 -0
- package/lib/dom-layer/style/index.js.map +1 -0
- package/lib/dom-layer/style/index.less +3 -0
- package/lib/feature-layer/FeatureLayer.js +4 -2
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/lib/dom/index.js
CHANGED
|
@@ -9,7 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _ahooks = require("ahooks");
|
|
10
10
|
var _useProps2 = _interopRequireDefault(require("../use-props"));
|
|
11
11
|
var _Dom = _interopRequireDefault(require("./Dom"));
|
|
12
|
-
var _excluded = ["zIndex", "data", "style", "className", "show", "children"];
|
|
12
|
+
var _excluded = ["zIndex", "data", "style", "className", "show", "avoid", "children", "_registerDomLayer"];
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
14
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
15
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -27,12 +27,16 @@ function _default(props) {
|
|
|
27
27
|
className = props.className,
|
|
28
28
|
_props$show = props.show,
|
|
29
29
|
show = _props$show === void 0 ? true : _props$show,
|
|
30
|
+
_props$avoid = props.avoid,
|
|
31
|
+
avoid = _props$avoid === void 0 ? true : _props$avoid,
|
|
30
32
|
children = props.children,
|
|
33
|
+
_registerDomLayer = props._registerDomLayer,
|
|
31
34
|
otherProps = _objectWithoutProperties(props, _excluded);
|
|
32
35
|
var _useProps = (0, _useProps2["default"])(),
|
|
33
36
|
map = _useProps.map;
|
|
34
37
|
var domRef = (0, _react.useRef)();
|
|
35
38
|
var overlay = (0, _react.useRef)();
|
|
39
|
+
var unregisterRef = (0, _react.useRef)();
|
|
36
40
|
(0, _react.useEffect)(function () {
|
|
37
41
|
overlay.current = new _Dom["default"](_objectSpread({
|
|
38
42
|
element: domRef.current,
|
|
@@ -43,9 +47,20 @@ function _default(props) {
|
|
|
43
47
|
}, otherProps));
|
|
44
48
|
overlay.current.element.style.zIndex = zIndex;
|
|
45
49
|
|
|
50
|
+
// 如果有DomLayer注册函数,则注册此DOM元素
|
|
51
|
+
if (_registerDomLayer) {
|
|
52
|
+
unregisterRef.current = _registerDomLayer(overlay.current.element, {
|
|
53
|
+
avoid: avoid
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
46
57
|
// 将Overlay添加到地图上
|
|
47
58
|
map.addOverlay(overlay.current);
|
|
48
59
|
return function () {
|
|
60
|
+
// 调用注销函数
|
|
61
|
+
if (unregisterRef.current) {
|
|
62
|
+
unregisterRef.current();
|
|
63
|
+
}
|
|
49
64
|
map.removeOverlay(overlay.current);
|
|
50
65
|
};
|
|
51
66
|
}, []);
|
package/lib/dom/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_ahooks","_useProps2","_interopRequireDefault","_Dom","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_default","props","zIndex","data","style","className","_props$show","show","children","otherProps","_useProps","useProps","map","domRef","useRef","overlay","useEffect","current","Dom","element","position","positioning","offset","addOverlay","removeOverlay","useUpdateEffect","setPosition","JSON","stringify","createElement","display","ref"],"sources":["dom/index.jsx"],"sourcesContent":["import React, {useRef, useEffect} from 'react';\nimport { useUpdateEffect } from 'ahooks';\nimport useProps from '../use-props';\nimport Dom from './Dom';\n\nexport default function (props) {\n const { zIndex, data, style, className, show = true, children, ...otherProps } = props;\n const { map } = useProps();\n\n const domRef = useRef();\n const overlay = useRef();\n useEffect(() => {\n overlay.current = new Dom({\n element: domRef.current,\n position: data,\n positioning: \"bottom-center\",\n offset: [0, -10],\n zIndex,\n ...otherProps\n });\n overlay.current.element.style.zIndex = zIndex;\n\n // 将Overlay添加到地图上\n map.addOverlay(overlay.current);\n\n return () => {\n map.removeOverlay(overlay.current);\n }\n }, []);\n\n useUpdateEffect(() => {\n overlay.current.setPosition(data)\n }, [JSON.stringify(data)])\n\n useUpdateEffect(() => {\n overlay.current.element.style.zIndex = zIndex;\n }, [zIndex])\n\n return (\n <div style={{display: show ? 'block' : 'none'}}>\n <div ref={domRef} style={{...style}} className={className}>\n {children}\n </div>\n </div>\n\n )\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_ahooks","_useProps2","_interopRequireDefault","_Dom","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_default","props","zIndex","data","style","className","_props$show","show","_props$avoid","avoid","children","_registerDomLayer","otherProps","_useProps","useProps","map","domRef","useRef","overlay","unregisterRef","useEffect","current","Dom","element","position","positioning","offset","addOverlay","removeOverlay","useUpdateEffect","setPosition","JSON","stringify","createElement","display","ref"],"sources":["dom/index.jsx"],"sourcesContent":["import React, {useRef, useEffect} from 'react';\nimport { useUpdateEffect } from 'ahooks';\nimport useProps from '../use-props';\nimport Dom from './Dom';\n\nexport default function (props) {\n const { zIndex, data, style, className, show = true, avoid = true, children, _registerDomLayer, ...otherProps } = props;\n const { map } = useProps();\n\n const domRef = useRef();\n const overlay = useRef();\n const unregisterRef = useRef();\n useEffect(() => {\n overlay.current = new Dom({\n element: domRef.current,\n position: data,\n positioning: \"bottom-center\",\n offset: [0, -10],\n zIndex,\n ...otherProps\n });\n overlay.current.element.style.zIndex = zIndex;\n\n // 如果有DomLayer注册函数,则注册此DOM元素\n if (_registerDomLayer) {\n unregisterRef.current = _registerDomLayer(overlay.current.element, { avoid });\n }\n\n // 将Overlay添加到地图上\n map.addOverlay(overlay.current);\n\n return () => {\n // 调用注销函数\n if (unregisterRef.current) {\n unregisterRef.current();\n }\n\n map.removeOverlay(overlay.current);\n }\n }, []);\n\n useUpdateEffect(() => {\n overlay.current.setPosition(data)\n }, [JSON.stringify(data)])\n\n useUpdateEffect(() => {\n overlay.current.element.style.zIndex = zIndex;\n }, [zIndex])\n\n return (\n <div style={{display: show ? 'block' : 'none'}}>\n <div ref={domRef} style={{...style}} className={className}>\n {children}\n </div>\n </div>\n\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = _default;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _ahooks = require("ahooks");
|
|
10
|
+
var _useProps2 = _interopRequireDefault(require("../use-props"));
|
|
11
|
+
require("./style");
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
16
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
17
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
19
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
20
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
21
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
22
|
+
function _default(props) {
|
|
23
|
+
var children = props.children,
|
|
24
|
+
_props$show = props.show,
|
|
25
|
+
show = _props$show === void 0 ? true : _props$show,
|
|
26
|
+
_props$avoid = props.avoid,
|
|
27
|
+
avoid = _props$avoid === void 0 ? true : _props$avoid;
|
|
28
|
+
var _useProps = (0, _useProps2["default"])(),
|
|
29
|
+
map = _useProps.map;
|
|
30
|
+
var domRef = (0, _react.useRef)();
|
|
31
|
+
var domElementsRef = (0, _react.useRef)([]);
|
|
32
|
+
var lastExecutionTimeRef = (0, _react.useRef)(0);
|
|
33
|
+
|
|
34
|
+
// 注册DOM元素
|
|
35
|
+
var registerDomElement = (0, _react.useCallback)(function (element) {
|
|
36
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
37
|
+
var _options$avoid = options.avoid,
|
|
38
|
+
avoid = _options$avoid === void 0 ? true : _options$avoid;
|
|
39
|
+
var id = Math.random().toString(36).substr(2, 9); // 简单ID生成
|
|
40
|
+
var elementInfo = {
|
|
41
|
+
id: id,
|
|
42
|
+
element: element,
|
|
43
|
+
avoid: avoid
|
|
44
|
+
};
|
|
45
|
+
domElementsRef.current = [].concat(_toConsumableArray(domElementsRef.current), [elementInfo]);
|
|
46
|
+
return function () {
|
|
47
|
+
domElementsRef.current = domElementsRef.current.filter(function (el) {
|
|
48
|
+
return el.id !== id;
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
}, []);
|
|
52
|
+
|
|
53
|
+
// 碰撞检测函数
|
|
54
|
+
var isColliding = function isColliding(rect1, rect2) {
|
|
55
|
+
return !(rect1.right < rect2.left || rect1.left > rect2.right || rect1.bottom < rect2.top || rect1.top > rect2.bottom);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
// 避让处理函数
|
|
59
|
+
var handleAvoidance = (0, _react.useCallback)(function () {
|
|
60
|
+
// 限制执行频率,至少间隔50ms
|
|
61
|
+
var now = Date.now();
|
|
62
|
+
if (now - lastExecutionTimeRef.current < 50) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
lastExecutionTimeRef.current = now;
|
|
66
|
+
if (!avoid) {
|
|
67
|
+
// 如果避免功能关闭,显示所有元素
|
|
68
|
+
domElementsRef.current.forEach(function (_ref) {
|
|
69
|
+
var element = _ref.element;
|
|
70
|
+
if (element) {
|
|
71
|
+
element.style.visibility = 'visible';
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// 获取所有DOM元素的位置信息
|
|
78
|
+
var allElements = [];
|
|
79
|
+
domElementsRef.current.forEach(function (_ref2) {
|
|
80
|
+
var id = _ref2.id,
|
|
81
|
+
element = _ref2.element,
|
|
82
|
+
avoid = _ref2.avoid;
|
|
83
|
+
if (element) {
|
|
84
|
+
// 不管当前显示状态如何,都参与计算
|
|
85
|
+
var rect = element.getBoundingClientRect();
|
|
86
|
+
var elementInfo = {
|
|
87
|
+
id: id,
|
|
88
|
+
element: element,
|
|
89
|
+
rect: rect,
|
|
90
|
+
area: rect.width * rect.height,
|
|
91
|
+
avoid: avoid
|
|
92
|
+
};
|
|
93
|
+
allElements.push(elementInfo);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
// 如果元素数量小于2,不需要避让,确保所有元素都显示
|
|
98
|
+
if (allElements.length < 2) {
|
|
99
|
+
allElements.forEach(function (_ref3) {
|
|
100
|
+
var element = _ref3.element;
|
|
101
|
+
element.style.visibility = 'visible';
|
|
102
|
+
});
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// 分离必须显示的元素和可避让的元素
|
|
107
|
+
var unavoidableElements = allElements.filter(function (el) {
|
|
108
|
+
return !el.avoid;
|
|
109
|
+
}); // avoid=false的元素
|
|
110
|
+
var avoidableElements = allElements.filter(function (el) {
|
|
111
|
+
return el.avoid;
|
|
112
|
+
}); // avoid=true的元素
|
|
113
|
+
|
|
114
|
+
// 标记需要隐藏的元素
|
|
115
|
+
var toHide = new Set();
|
|
116
|
+
|
|
117
|
+
// 检查所有元素之间的碰撞
|
|
118
|
+
// 1. 必须显示的元素优先,与所有其他元素比较
|
|
119
|
+
var _iterator = _createForOfIteratorHelper(unavoidableElements),
|
|
120
|
+
_step;
|
|
121
|
+
try {
|
|
122
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
123
|
+
var unavoidable = _step.value;
|
|
124
|
+
// 必须显示的元素与可避让元素碰撞时,隐藏可避让元素
|
|
125
|
+
var _iterator2 = _createForOfIteratorHelper(avoidableElements),
|
|
126
|
+
_step2;
|
|
127
|
+
try {
|
|
128
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
129
|
+
var avoidable = _step2.value;
|
|
130
|
+
if (isColliding(unavoidable.rect, avoidable.rect)) {
|
|
131
|
+
toHide.add(avoidable.id);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
} catch (err) {
|
|
135
|
+
_iterator2.e(err);
|
|
136
|
+
} finally {
|
|
137
|
+
_iterator2.f();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// 2. 可避让元素之间按面积排序,面积大的优先显示
|
|
142
|
+
} catch (err) {
|
|
143
|
+
_iterator.e(err);
|
|
144
|
+
} finally {
|
|
145
|
+
_iterator.f();
|
|
146
|
+
}
|
|
147
|
+
avoidableElements.sort(function (a, b) {
|
|
148
|
+
return b.area - a.area;
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
// 3. 检查所有可避让元素之间的碰撞关系
|
|
152
|
+
for (var i = 0; i < avoidableElements.length; i++) {
|
|
153
|
+
// 如果当前元素已经被标记为隐藏,则跳过
|
|
154
|
+
if (toHide.has(avoidableElements[i].id)) continue;
|
|
155
|
+
|
|
156
|
+
// 检查与所有后续元素的碰撞
|
|
157
|
+
for (var j = i + 1; j < avoidableElements.length; j++) {
|
|
158
|
+
// 如果比较的元素已经被标记为隐藏,则跳过
|
|
159
|
+
if (toHide.has(avoidableElements[j].id)) continue;
|
|
160
|
+
if (isColliding(avoidableElements[i].rect, avoidableElements[j].rect)) {
|
|
161
|
+
// 隐藏面积较小的元素(即j位置的元素)
|
|
162
|
+
toHide.add(avoidableElements[j].id);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// 应用显示/隐藏
|
|
168
|
+
allElements.forEach(function (_ref4) {
|
|
169
|
+
var id = _ref4.id,
|
|
170
|
+
element = _ref4.element,
|
|
171
|
+
elementAvoid = _ref4.avoid;
|
|
172
|
+
if (!elementAvoid) {
|
|
173
|
+
// avoid=false的元素始终显示
|
|
174
|
+
element.style.visibility = 'visible';
|
|
175
|
+
} else {
|
|
176
|
+
// avoid=true的元素根据碰撞检测结果决定显示或隐藏
|
|
177
|
+
element.style.visibility = toHide.has(id) ? 'hidden' : 'visible';
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
}, [avoid]);
|
|
181
|
+
|
|
182
|
+
// 控制显示/隐藏
|
|
183
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
184
|
+
if (domRef.current) {
|
|
185
|
+
domRef.current.style.visibility = show ? 'visible' : 'hidden';
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// 当显示状态改变时重新计算避让
|
|
189
|
+
if (show && avoid) {
|
|
190
|
+
setTimeout(handleAvoidance, 10);
|
|
191
|
+
}
|
|
192
|
+
}, [show, avoid]);
|
|
193
|
+
|
|
194
|
+
// 监听地图事件
|
|
195
|
+
(0, _react.useEffect)(function () {
|
|
196
|
+
if (!map) return;
|
|
197
|
+
var avoidanceTimer = null;
|
|
198
|
+
|
|
199
|
+
// 处理地图变化
|
|
200
|
+
var handleMapChange = function handleMapChange() {
|
|
201
|
+
// 清除之前的定时器
|
|
202
|
+
if (avoidanceTimer) {
|
|
203
|
+
clearTimeout(avoidanceTimer);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// 延迟执行避让处理,确保DOM已经更新位置
|
|
207
|
+
avoidanceTimer = setTimeout(function () {
|
|
208
|
+
if (avoid) {
|
|
209
|
+
handleAvoidance();
|
|
210
|
+
}
|
|
211
|
+
}, 100);
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
// 监听地图移动事件
|
|
215
|
+
map.getView().on('change:resolution', handleMapChange);
|
|
216
|
+
|
|
217
|
+
// 初始计算一次
|
|
218
|
+
setTimeout(function () {
|
|
219
|
+
if (avoid) {
|
|
220
|
+
handleAvoidance();
|
|
221
|
+
}
|
|
222
|
+
}, 200);
|
|
223
|
+
return function () {
|
|
224
|
+
if (map) {
|
|
225
|
+
map.getView().un('change:resolution', handleMapChange);
|
|
226
|
+
}
|
|
227
|
+
if (avoidanceTimer) {
|
|
228
|
+
clearTimeout(avoidanceTimer);
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
}, [handleAvoidance, avoid]);
|
|
232
|
+
|
|
233
|
+
// 向子组件传递上下文
|
|
234
|
+
var childrenWithProps = _react["default"].Children.map(children, function (child) {
|
|
235
|
+
if ( /*#__PURE__*/_react["default"].isValidElement(child)) {
|
|
236
|
+
return /*#__PURE__*/_react["default"].cloneElement(child, {
|
|
237
|
+
_registerDomLayer: registerDomElement
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
return child;
|
|
241
|
+
});
|
|
242
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
243
|
+
className: "ol-map-dom-layer",
|
|
244
|
+
ref: domRef,
|
|
245
|
+
style: {
|
|
246
|
+
display: show ? 'block' : 'none'
|
|
247
|
+
}
|
|
248
|
+
}, childrenWithProps);
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_ahooks","_useProps2","_interopRequireDefault","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","iter","len","arr2","_default","props","children","_props$show","show","_props$avoid","avoid","_useProps","useProps","map","domRef","useRef","domElementsRef","lastExecutionTimeRef","registerDomElement","useCallback","element","options","arguments","undefined","_options$avoid","id","Math","random","substr","elementInfo","current","concat","filter","el","isColliding","rect1","rect2","right","left","bottom","top","handleAvoidance","now","Date","forEach","_ref","style","visibility","allElements","_ref2","rect","getBoundingClientRect","area","width","height","push","_ref3","unavoidableElements","avoidableElements","toHide","Set","_iterator","_step","unavoidable","_iterator2","_step2","avoidable","add","sort","a","b","j","_ref4","elementAvoid","useUpdateEffect","setTimeout","useEffect","avoidanceTimer","handleMapChange","clearTimeout","getView","on","un","childrenWithProps","React","Children","child","isValidElement","cloneElement","_registerDomLayer","createElement","className","ref","display"],"sources":["dom-layer/index.jsx"],"sourcesContent":["import React, { useRef, useEffect, useState, useCallback } from 'react';\nimport { useUpdateEffect } from 'ahooks';\nimport useProps from '../use-props';\nimport './style';\n\nexport default function (props) {\n const { children, show = true, avoid = true } = props;\n const { map } = useProps();\n const domRef = useRef();\n const domElementsRef = useRef([]);\n const lastExecutionTimeRef = useRef(0);\n\n // 注册DOM元素\n const registerDomElement = useCallback((element, options = {}) => {\n const { avoid = true } = options;\n const id = Math.random().toString(36).substr(2, 9); // 简单ID生成\n const elementInfo = { id, element, avoid };\n\n domElementsRef.current = [...domElementsRef.current, elementInfo];\n\n return () => {\n domElementsRef.current = domElementsRef.current.filter(el => el.id !== id);\n };\n }, []);\n\n // 碰撞检测函数\n const isColliding = (rect1, rect2) => {\n return !(rect1.right < rect2.left ||\n rect1.left > rect2.right ||\n rect1.bottom < rect2.top ||\n rect1.top > rect2.bottom);\n };\n\n // 避让处理函数\n const handleAvoidance = useCallback(() => {\n // 限制执行频率,至少间隔50ms\n const now = Date.now();\n if (now - lastExecutionTimeRef.current < 50) {\n return;\n }\n lastExecutionTimeRef.current = now;\n\n if (!avoid) {\n // 如果避免功能关闭,显示所有元素\n domElementsRef.current.forEach(({ element }) => {\n if (element) {\n element.style.visibility = 'visible';\n }\n });\n return;\n }\n\n // 获取所有DOM元素的位置信息\n const allElements = [];\n\n domElementsRef.current.forEach(({ id, element, avoid }) => {\n if (element) { // 不管当前显示状态如何,都参与计算\n const rect = element.getBoundingClientRect();\n\n const elementInfo = {\n id,\n element: element,\n rect: rect,\n area: rect.width * rect.height,\n avoid: avoid\n };\n\n allElements.push(elementInfo);\n }\n });\n\n // 如果元素数量小于2,不需要避让,确保所有元素都显示\n if (allElements.length < 2) {\n allElements.forEach(({ element }) => {\n element.style.visibility = 'visible';\n });\n return;\n }\n\n // 分离必须显示的元素和可避让的元素\n const unavoidableElements = allElements.filter(el => !el.avoid); // avoid=false的元素\n const avoidableElements = allElements.filter(el => el.avoid); // avoid=true的元素\n\n // 标记需要隐藏的元素\n const toHide = new Set();\n\n // 检查所有元素之间的碰撞\n // 1. 必须显示的元素优先,与所有其他元素比较\n for (const unavoidable of unavoidableElements) {\n // 必须显示的元素与可避让元素碰撞时,隐藏可避让元素\n for (const avoidable of avoidableElements) {\n if (isColliding(unavoidable.rect, avoidable.rect)) {\n toHide.add(avoidable.id);\n }\n }\n }\n\n // 2. 可避让元素之间按面积排序,面积大的优先显示\n avoidableElements.sort((a, b) => b.area - a.area);\n\n // 3. 检查所有可避让元素之间的碰撞关系\n for (let i = 0; i < avoidableElements.length; i++) {\n // 如果当前元素已经被标记为隐藏,则跳过\n if (toHide.has(avoidableElements[i].id)) continue;\n\n // 检查与所有后续元素的碰撞\n for (let j = i + 1; j < avoidableElements.length; j++) {\n // 如果比较的元素已经被标记为隐藏,则跳过\n if (toHide.has(avoidableElements[j].id)) continue;\n\n\n if (isColliding(avoidableElements[i].rect, avoidableElements[j].rect)) {\n // 隐藏面积较小的元素(即j位置的元素)\n toHide.add(avoidableElements[j].id);\n }\n }\n }\n\n // 应用显示/隐藏\n allElements.forEach(({ id, element, avoid: elementAvoid }) => {\n if (!elementAvoid) {\n // avoid=false的元素始终显示\n element.style.visibility = 'visible';\n } else {\n // avoid=true的元素根据碰撞检测结果决定显示或隐藏\n element.style.visibility = toHide.has(id) ? 'hidden' : 'visible';\n }\n });\n }, [avoid]);\n\n // 控制显示/隐藏\n useUpdateEffect(() => {\n if (domRef.current) {\n domRef.current.style.visibility = show ? 'visible' : 'hidden';\n }\n\n // 当显示状态改变时重新计算避让\n if (show && avoid) {\n setTimeout(handleAvoidance, 10);\n }\n }, [show, avoid]);\n\n // 监听地图事件\n useEffect(() => {\n if (!map) return;\n\n let avoidanceTimer = null;\n\n // 处理地图变化\n const handleMapChange = () => {\n // 清除之前的定时器\n if (avoidanceTimer) {\n clearTimeout(avoidanceTimer);\n }\n\n // 延迟执行避让处理,确保DOM已经更新位置\n avoidanceTimer = setTimeout(() => {\n if (avoid) {\n handleAvoidance();\n }\n }, 100);\n };\n\n\n // 监听地图移动事件\n map.getView().on('change:resolution', handleMapChange);\n\n // 初始计算一次\n setTimeout(() => {\n if (avoid) {\n handleAvoidance();\n }\n }, 200);\n\n return () => {\n if (map) {\n map.getView().un('change:resolution', handleMapChange);\n }\n if (avoidanceTimer) {\n clearTimeout(avoidanceTimer);\n }\n };\n }, [handleAvoidance, avoid]);\n\n // 向子组件传递上下文\n const childrenWithProps = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n _registerDomLayer: registerDomElement\n });\n }\n return child;\n });\n\n return (\n <div className=\"ol-map-dom-layer\" ref={domRef} style={{ display: show ? 'block' : 'none' }}>\n {childrenWithProps}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","names":["require"],"sources":["dom-layer/style/index.js"],"sourcesContent":["import './index.less';\n"],"mappings":";;AAAAA,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["require"],"sources":["dom-layer/style/index.js"],"sourcesContent":["import './index.less';\n"],"mappings":";;AAAAA,OAAA"}
|
|
@@ -19,7 +19,7 @@ var _MyCluster = _interopRequireDefault(require("./MyCluster"));
|
|
|
19
19
|
var _Marker = require("../marker/Marker");
|
|
20
20
|
var _excluded = ["url", "params", "data", "dataField", "features", "sourceOptions", "key", "name", "label", "labelField", "point", "cluster", "template", "autoRefresh", "method", "layerControl", "show", "style", "group", "iconOptions", "afterGetData", "legend", "viewOnly", "encrypt", "valueField", "map", "tipTemplate", "alarmBg", "cancelPopup"],
|
|
21
21
|
_excluded2 = ["color", "background", "backgroundStroke", "backgroundStrokeWidth"],
|
|
22
|
-
_excluded3 = ["type", "iconSrc", "color", "scale", "numberStyle"],
|
|
22
|
+
_excluded3 = ["type", "iconSrc", "color", "scale", "numberStyle", "numberScale"],
|
|
23
23
|
_excluded4 = ["numberStyle", "iconOptions"];
|
|
24
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
25
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
@@ -402,6 +402,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
402
402
|
_clusterStyle$scale = clusterStyle.scale,
|
|
403
403
|
scale = _clusterStyle$scale === void 0 ? 1 : _clusterStyle$scale,
|
|
404
404
|
numberStyle = clusterStyle.numberStyle,
|
|
405
|
+
numberScale = clusterStyle.numberScale,
|
|
405
406
|
iconOptions = _objectWithoutProperties(clusterStyle, _excluded3);
|
|
406
407
|
var size = ((_feature$get2 = feature.get('features')) === null || _feature$get2 === void 0 ? void 0 : _feature$get2.length) || 0;
|
|
407
408
|
return [new _renderer["default"].Marker({
|
|
@@ -413,7 +414,8 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
413
414
|
fontSize: 18
|
|
414
415
|
}
|
|
415
416
|
}),
|
|
416
|
-
text: this.getClusterTextStyle(size, numberStyle)
|
|
417
|
+
text: this.getClusterTextStyle(size, numberStyle),
|
|
418
|
+
scale: numberScale || 1
|
|
417
419
|
}), new _renderer["default"].Marker(_objectSpread({
|
|
418
420
|
image: iconSrc,
|
|
419
421
|
scale: scale || 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureLayer.js","names":["_layer","require","_ol","_source","_renderer","_interopRequireDefault","_style6","_isFunction","_createFeatureCollection","_isObject","_encryptParams","_stringToFun","_convertCamelToCSS","_MyCluster","_Marker","_excluded","_excluded2","_excluded3","_excluded4","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","_typeof","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","configurable","writable","_toPropertyKey","_createClass","protoProps","staticProps","_get","Reflect","get","bind","property","receiver","base","_superPropBase","desc","value","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","set","_set","isStrict","s","hasOwnProperty","getPrototypeOf","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","addOverlay","feature","map","alarmBg","itemVal","find","v","values_","image","style","dom","document","createElement","src","className","cssText","overlay","Overlay","element","positioning","stopEvent","setPosition","getGeometry","getCoordinates","FeatureLayer","_Vector","_super","options","_thisSuper","_this2","url","params","data","dataField","features","sourceOptions","label","labelField","point","cluster","template","autoRefresh","method","layerControl","show","group","iconOptions","afterGetData","legend","viewOnly","encrypt","valueField","tipTemplate","cancelPopup","other","VectorSource","defaultShow","f","stringToFun","size","_ref","color","background","backgroundStroke","backgroundStrokeWidth","otherVal","text","font","fill","Fill","padding","justify","textAlign","textBaseline","offsetY","offsetX","backgroundFill","Stroke","width","Text","_options","isCluster","_feature$get","distance","inited","item","convertCamelToCSS","_features","init","loadUrlData","loadData","setVisible","val","setStyle","getStyleByMode","setClusterMode","setShow","_this3","_ref2","isObject","setClusterSource","destroy","oldZoom","getView","getZoom","moveEnd","on","zoom","_this3$_options$clust","zoomThreshold","getCustomClusterStyle","clusterStyle","_feature$get2","type","iconSrc","_clusterStyle$scale","scale","numberStyle","renderer","Marker","getImgUrl","hideFooter","info","fontSize","getClusterTextStyle","anchor","_this4","resolution","_feature$get3","_this4$group","_cluster$style","_this4$_options","otherStyle","_v$filter","styles","isFunction","_styles","getMarkerOptions","Style","_style","getSimpleStyle","Simple","_style3","mode","render","getMultipleStyle","UniqueValue","ClassBreaks","Circle","radius","stroke","_render","_render$style","_render$style2","icon","_render$render","_this5","_feature$get4","iconSize","_this$_options","isFun","_data","_data$style","_data2","_data3","_data3$style","_data4","_data5","_data5$style","_data6","_data7","_data7$style","_data8","_data9","_data9$style","_data10","_data11","_data11$style","_data12","P","marker","marker_cluster","commonStyle","point_cluster","_Object$keys","includes","_data13","customText","getLabelStyle","_cluster$style2","_this$_features","_this6","_this","_cluster","minDistance","clusterSource","Cluster","clusterChange","setAlarmBgByFeatures","createCluster","_group","Feature","geometry","layerKey","_group2","_groupItem","_groupItem$clusterSty","groupItem","_v$filter2","markerStyle","_style4","_markerStyle2","_cluster2","_markerStyle","setProperties","setSource","clearAlarmBg","_this$overlays","_this7","overlays","removeOverlay","_this8","_feature","refresh","_this9","getDataByHttpByParams","field","then","new_features","newFeatures","getFeatureByFieldValue","id","getSource","addFeatures","getFeatures","changed","clear","createGeoJson","_this10","encryptParams","loadFeatures","getFeaturesByFieldValueOpera","_ref3","_this11","_ref3$operation","operation","Promise","resolve","reject","fun","Function","concat","err","_v$values_$field","_v$values_$field2","_v$values_$field3","getMap","setGroup","_this$_features2","_v$filter3","setVisibleByGroup","visible","layers","onChange","clearMoveEnd","un","Vector","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import { Vector } from 'ol/layer';\nimport { Feature, Overlay } from 'ol';\nimport { Vector as VectorSource } from 'ol/source';\nimport renderer from '../renderer';\nimport { Fill, Style, Text, Stroke, Circle } from 'ol/style';\nimport isFunction from '../_util/isFunction';\nimport { getDataByHttpByParams, createGeoJson } from './createFeatureCollection';\nimport isObject from '../_util/isObject';\nimport encryptParams from '../_util/encryptParams';\nimport stringToFun from '../_util/stringToFun';\nimport convertCamelToCSS from '../convertCamelToCSS';\nimport Cluster from './MyCluster';\nimport { getImgUrl } from '../marker/Marker';\n\nconst addOverlay = (feature, map, alarmBg) => {\n if (alarmBg) {\n let itemVal = alarmBg.find(v => v.filter(feature.values_));\n if (itemVal) {\n let { image, style } = itemVal;\n let dom;\n if (image) {\n dom = document.createElement('img');\n dom.src = image;\n } else {\n dom = document.createElement('div');\n dom.className = `ol-map-icon-alarm`;\n }\n\n if (style) {\n dom.style.cssText = style;\n }\n\n const overlay = new Overlay({\n element: dom,\n positioning: 'bottom-center',\n stopEvent: true,\n className: 'ol-overlay_container-stop_event',\n });\n\n map.addOverlay(overlay);\n\n overlay.setPosition(feature.getGeometry().getCoordinates());\n\n return overlay;\n }\n }\n};\n\nclass FeatureLayer extends Vector {\n constructor(options) {\n const {\n url,\n params,\n data,\n dataField,\n features,\n sourceOptions,\n key,\n name,\n label,\n labelField,\n point,\n cluster,\n template,\n autoRefresh,\n method,\n layerControl,\n show,\n style,\n group,\n iconOptions,\n afterGetData,\n legend,\n viewOnly,\n encrypt,\n valueField,\n map,\n tipTemplate,\n alarmBg,\n cancelPopup,\n ...other\n } = options;\n\n const props = {\n ...other,\n };\n props.source =\n props.source ||\n new VectorSource({\n features,\n ...sourceOptions,\n });\n\n let defaultShow = show;\n if (group?.length) {\n defaultShow = false;\n\n if (show) {\n group.map(f => {\n if (f.show) {\n defaultShow = true;\n }\n\n // 将字符函数转化为可执行的函数\n f.filter = stringToFun(f.filter);\n });\n }\n }\n\n super(props);\n super.show = show;\n // 参数\n this._options = options;\n\n // 地图\n this.map = map;\n\n // 接口地址\n this.url = url;\n\n // 接口地址请求类型\n this.method = method;\n\n // 接口查询参数\n this.params = params;\n\n // 图层标识\n this.key = key;\n\n // 图层名称\n this.name = name;\n\n // 标签\n this.label = label;\n\n // 标签字段\n this.labelField = labelField;\n\n // 聚合\n this.cluster = cluster;\n\n // 聚合距离\n this.distance = cluster?.distance || 80;\n\n // 海量点\n this.point = point;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 图层控制\n this.layerControl = layerControl;\n\n // 过滤\n this.group = group;\n\n // 处理获取的数据\n this.afterGetData = afterGetData;\n\n // 数据查询字段\n this.valueField = valueField;\n\n // 图例\n this.legend = legend;\n\n // 样式\n this.style = style;\n\n // 数据\n this.data = data;\n\n // 数据取值字段\n this.dataField = dataField || 'geometryInfo';\n\n // 仅展示\n this.viewOnly = viewOnly;\n\n // 是否初始化\n this.inited = false;\n\n // 加密\n this.encrypt = encrypt;\n\n // 气泡模板\n this.tipTemplate = tipTemplate;\n\n // 取消气泡\n this.cancelPopup = cancelPopup;\n\n // 报警背景\n if (alarmBg) {\n this.alarmBg = (Array.isArray(alarmBg) ? alarmBg : [alarmBg]).map(item => {\n let { filter, style } = item;\n filter = stringToFun(filter);\n if (style) {\n style = item.style && typeof item.style === 'object' ? style : { color: style };\n style = convertCamelToCSS(style);\n }\n return {\n ...item,\n filter,\n style,\n };\n });\n }\n\n // 临时数据\n this._features = [];\n\n // 默认是否展示\n if (defaultShow) {\n this.init();\n }\n }\n\n // 初始化数据\n init() {\n // 是否存在地址\n if (this.url) {\n // 执行\n this.loadUrlData(this.url, this.params, this.method);\n }\n\n // 直接加载数据\n if (this.data) {\n // 执行\n this.loadData(this.data);\n }\n\n this.inited = true;\n }\n\n // 重写父类的属性访问器\n get show() {\n return super.show;\n }\n\n set show(value) {\n this.setVisible(value);\n }\n\n set label(val) {\n this._options.label = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set point(val) {\n this._options.point = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set cluster(val) {\n this.setClusterMode(val);\n }\n\n setShow(value) {\n this.show = value;\n this.setVisible(value);\n }\n\n setClusterMode(val) {\n const { show } = isObject(val) ? val : { show: val };\n this.setClusterSource(val);\n this.setStyle(this.getStyleByMode());\n\n if (this.map && show) {\n const map = this.map;\n this.destroy();\n\n // 监听地图缩放大于阈值时取消聚合\n let oldZoom = map.getView().getZoom();\n this.moveEnd = map.on('moveend', () => {\n const zoom = map.getView().getZoom(); //获取当前地图的缩放级别\n if (oldZoom !== zoom) {\n oldZoom = zoom;\n if (zoom >= (this._options.cluster?.zoomThreshold || 14)) {\n this.setClusterSource();\n } else {\n this.setClusterSource(val);\n }\n }\n });\n }\n }\n\n getClusterTextStyle = (size, options) => {\n const { color, background, backgroundStroke, backgroundStrokeWidth, ...otherVal } =\n options && typeof options === 'object' ? options : {};\n const style = {\n text: String(size),\n font: '18px Calibri,sans-serif',\n fill: new Fill({\n color: color || '#fff',\n }),\n padding: [0, 0, 0, 0],\n justify: 'center',\n textAlign: 'center',\n textBaseline: 'middle',\n offsetY: -22,\n offsetX: 16,\n ...otherVal,\n };\n\n if (background) {\n style.backgroundFill = new Fill({\n color: background,\n });\n }\n\n if (backgroundStroke) {\n style.backgroundStroke = new Stroke({\n color: '#FFFFFF',\n width: backgroundStrokeWidth || 2,\n });\n }\n return new Text(style);\n };\n\n getLabelStyle = (feature, color) => {\n let { labelField } = this._options;\n\n // 判断是否是聚合点位\n if (feature.isCluster) {\n const size = feature.get('features')?.length || 0;\n if (size !== 1) {\n return;\n }\n }\n if (labelField) {\n return new Text({\n text: feature.values_[labelField] || '-',\n font: '12px Calibri,sans-serif',\n fill: new Fill({\n color,\n }),\n backgroundFill: new Fill({\n color: '#fff',\n }),\n backgroundStroke: new Stroke({\n color,\n width: 1,\n }),\n padding: [4, 2, 2, 4],\n justify: 'center',\n textBaseline: 'middle',\n offsetY: 12,\n });\n }\n };\n\n getCustomClusterStyle(feature, clusterStyle) {\n const { type, iconSrc, color, scale = 1, numberStyle, ...iconOptions } = clusterStyle;\n const size = feature.get('features')?.length || 0;\n\n return [\n new renderer.Marker({\n image: getImgUrl(type || 'CommonIcon', {\n color: color || '#2491fc',\n hideFooter: true,\n info: { text: '', fontSize: 18 },\n }),\n text: this.getClusterTextStyle(size, numberStyle),\n }),\n new renderer.Marker({\n image: iconSrc,\n scale: scale || 1,\n anchor: [1.1, 1.25],\n ...iconOptions,\n }),\n ];\n }\n\n getStyleByMode() {\n return (feature, resolution) => {\n const size = feature.get('features')?.length || 0;\n let { style, cluster, otherStyle } = this._options;\n let show = true;\n\n this.group?.map(v => {\n if (v?.filter?.(feature.values_)) {\n style = v.style || style;\n if (v.hasOwnProperty('show') && !v.show) {\n show = false;\n }\n }\n });\n feature.show = show;\n\n if (!show) {\n return null;\n }\n\n const styles = [];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles);\n } else {\n styles.push(_styles);\n }\n }\n }\n }\n\n if (size > 1 && cluster?.style?.iconSrc) {\n return this.getCustomClusterStyle(feature, cluster.style);\n }\n if (style) {\n if (typeof style === 'string' || (isFunction(style) && cluster)) {\n styles.push(new renderer.Marker({ ...this.getMarkerOptions(feature, style) }));\n return styles;\n } else if (style instanceof Style) {\n // 判断是否为 ol Style\n styles.push(style);\n return styles;\n } else if (isFunction(style)) {\n // 判断是否为自定义函数渲染\n\n let _style = style(feature);\n if (_style?.type && _style?.style) {\n const options = this.getSimpleStyle(feature, _style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n styles.push(_style);\n return styles;\n } else if (isObject(style)) {\n let { mode } = style;\n if (mode) {\n if (mode === 'Simple') {\n const options = this.getSimpleStyle(feature, style.render);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n if (mode === 'UniqueValue') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.UniqueValue(feature, options));\n return styles;\n }\n\n if (mode === 'ClassBreaks') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.ClassBreaks(feature, options));\n return styles;\n }\n } else if (style.style) {\n const options = this.getSimpleStyle(feature, style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n }\n }\n styles.push(\n new Style({\n image: new Circle({\n radius: 4,\n fill: new Fill({\n color: 'rgba(0,155,255, 0.8)',\n }),\n }),\n fill: new Fill({\n color: 'rgba(255, 255, 255, 0.6)',\n }),\n stroke: new Stroke({\n color: '#009BFF',\n width: 2,\n }),\n }),\n );\n return styles;\n };\n }\n\n getSimpleStyle(feature, _render) {\n let { cluster } = this._options;\n const render = { ..._render };\n if (\n render.type === 'Marker' &&\n (render?.style?.icon || (cluster && render?.style?.image))\n ) {\n render.style = {\n ...render.style,\n ...this.getMarkerOptions(feature, render.style),\n };\n }\n\n return render;\n }\n\n getMultipleStyle(feature, _render) {\n const render = { ..._render };\n\n if (render?.render?.length) {\n render.render = render.render.map(v => this.getSimpleStyle(feature, v));\n }\n\n return render;\n }\n\n getMarkerOptions(feature, style) {\n let icon = style?.icon || style;\n let image = style?.image;\n let scale = style?.scale;\n let color = style?.color || '#2491fc';\n let iconSize = style?.size || null;\n let hideFooter = style?.hideFooter || null;\n let { cluster, point, label } = this._options;\n // 判断是否为自定义函数渲染\n let isFun = isFunction(style);\n let data = {};\n if (isFun) {\n data = style(feature) || {};\n icon = data?.style?.icon || data?.icon || icon;\n color = data?.style?.color || data?.color || color;\n image = data?.style?.image || data?.image || image;\n scale = data?.style?.scale || data?.scale || scale;\n iconSize = data?.style?.size || data?.size || iconSize;\n hideFooter = data?.style?.hideFooter || data?.hideFooter || hideFooter;\n }\n\n const size = feature.get('features')?.length || 0;\n const iconOptions = {\n size: iconSize,\n hideFooter,\n };\n let P = {\n marker: {\n // 图标\n icon,\n image,\n iconOptions,\n scale,\n },\n point: {\n // 点位\n icon,\n type: 'PointIcon',\n iconOptions,\n },\n marker_cluster: {\n // 聚合图标\n icon,\n image,\n scale,\n color: size > 1 ? '' : color,\n iconOptions:\n size > 1\n ? {\n hideFooter: true,\n info: { text: '', fontSize: 18 },\n ...(cluster?.iconOptions || {}),\n }\n : {},\n ...(size > 1 ? cluster?.style : cluster?.commonStyle),\n },\n point_cluster: {\n // 聚合点位\n icon,\n type: 'PointIcon',\n iconOptions:\n size > 1\n ? {\n text: size,\n }\n : {},\n ...(size > 1 && cluster?.style),\n },\n };\n\n let type = point ? 'point' : 'marker';\n\n if (cluster) {\n if (isObject(cluster)) {\n if (cluster.show) {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n } else {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n }\n\n let _style = P[type];\n if (label) {\n if (Object.keys(data)?.includes('customText')) {\n _style.text = data?.customText;\n } else {\n _style.text = this.getLabelStyle(feature, color);\n }\n }\n\n if (feature.isCluster && size > 1 && type === 'marker_cluster') {\n _style.text = this.getClusterTextStyle(size, cluster?.style?.numberStyle);\n }\n\n return _style;\n }\n\n setClusterSource(cluster) {\n let _this = this;\n cluster = isObject(cluster) ? cluster : { show: cluster };\n let { show, minDistance, distance, group } = cluster;\n let source = new VectorSource({\n features: this._features?.filter(v => !v.hasOwnProperty('show') || v.show),\n });\n if (show) {\n group = group || this.group;\n let clusterSource = new Cluster({\n distance: distance || 100,\n minDistance: minDistance || 50,\n source,\n group,\n clusterChange: features => {\n this.setAlarmBgByFeatures(features);\n },\n createCluster: (point, features) => {\n let feature = new Feature({\n geometry: point,\n features: features.map(v => {\n v.layerKey = _this.key;\n return v;\n }),\n });\n\n if (group?.length) {\n let style, groupItem;\n const f = features[0];\n const size = features.length;\n group?.map(v => {\n if (v?.filter?.(f.values_)) {\n style = v.style || style;\n groupItem = v;\n }\n });\n\n // 当点位单独展示时,并且style为自定义函数\n if (size === 1 && isFunction(style)) {\n style = style(f);\n }\n\n let markerStyle = { ...style.style };\n\n if (size > 1 && groupItem?.clusterStyle?.iconSrc) {\n let _style = this.getCustomClusterStyle(\n feature,\n groupItem.clusterStyle,\n );\n feature.setStyle(_style);\n } else {\n if (size > 1) {\n if (style?.clusterStyle) {\n markerStyle = { ...style.clusterStyle };\n }\n\n const { numberStyle, iconOptions, ...otherStyle } = markerStyle;\n markerStyle = {\n ...otherStyle,\n text: this.getClusterTextStyle(\n markerStyle?.image ? size : ' ',\n numberStyle,\n ),\n iconOptions: {\n hideFooter: true,\n info: { text: size, fontSize: 18 },\n ...(iconOptions || cluster?.iconOptions || {}),\n },\n };\n }\n let _style = new renderer.Marker(markerStyle);\n feature.setStyle(_style);\n }\n }\n\n // 增加聚合点位标识\n feature.isCluster = true;\n\n if (features.length === 1) {\n feature.setProperties(features[0].values_);\n }\n\n return feature;\n },\n ...cluster,\n });\n\n this.setSource(clusterSource);\n } else {\n this.setSource(source);\n }\n }\n\n // 清除报警背景\n clearAlarmBg() {\n if (this.map && this.overlays?.length) {\n this.overlays.map(overlay => this.map.removeOverlay(overlay));\n this.overlays = null;\n }\n }\n\n // 设置报警背景\n setAlarmBgByFeatures(features) {\n this.clearAlarmBg();\n this.overlays = [];\n\n if (this.map && this.alarmBg && features?.length) {\n features.map(feature => {\n let _feature = feature;\n\n const cluster = feature.get('features');\n if (cluster) {\n _feature = cluster.length < 2 ? cluster[0] : null;\n }\n\n if (_feature && (_feature.hasOwnProperty('show') ? _feature.show : true)) {\n let overlay = addOverlay(_feature, this.map, this.alarmBg);\n if (overlay) {\n this.overlays.push(overlay);\n }\n }\n });\n }\n }\n\n refresh() {\n getDataByHttpByParams({\n url: this.url,\n params: this.params,\n method: this.method,\n afterGetData: this.afterGetData,\n field: this.dataField,\n }).then(features => {\n if (features) {\n let new_features = features;\n this._features = new_features;\n\n let newFeatures = [];\n new_features.map(v => {\n let f = this.getFeatureByFieldValue('id', v.values_.id);\n if (f) {\n f.values_ = v.values_;\n } else {\n newFeatures.push(v);\n }\n });\n\n if (newFeatures.length) {\n this.getSource().addFeatures(newFeatures);\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n\n this.getSource().changed();\n }\n });\n }\n\n loadData(data) {\n this.getSource().clear();\n let features = createGeoJson(data, this.dataField);\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n loadUrlData(url, params, method, afterGetData = this.afterGetData) {\n this.getSource().clear();\n this._features = [];\n\n if (this.encrypt) {\n params = encryptParams(params, this.encrypt);\n }\n\n getDataByHttpByParams({\n url,\n params,\n method,\n afterGetData,\n field: this.dataField,\n }).then(features => {\n this.getSource().clear();\n this._features = [];\n\n if (features?.length) {\n this._features = features;\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n });\n }\n\n loadFeatures(features) {\n this.getSource().clear();\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n getFeatures() {\n const source = this.getSource().source || this.getSource();\n return source.getFeatures();\n }\n\n getFeatureByFieldValue(field, value) {\n return this.getFeatures().find(v => v.values_[field] === value);\n }\n\n getFeaturesByFieldValueOpera({ field, value, operation = '===', features, filter }) {\n return new Promise((resolve, reject) => {\n let _features = features || this.getFeatures();\n if (filter) {\n _features = _features.filter(feature => filter(feature.values_));\n }\n\n let result = _features;\n\n if (operation && value !== undefined) {\n if (['>', '>=', '<', '<=', '===', '!=='].includes(operation)) {\n try {\n // 通过动态创建方法自动传入操作符\n const fun = new Function(\n 'features',\n 'field',\n 'value',\n `return features.filter(v => v.values_[field] ${operation} value)`,\n );\n result = fun(_features, field, value);\n } catch (err) {\n reject(err);\n }\n } else if (operation === 'like') {\n // 包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n } else if (operation === 'notLike') {\n // 不包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) === -1);\n } else {\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n }\n }\n\n resolve(result);\n });\n }\n\n // 获取地图\n getMap() {\n return this.map;\n }\n\n // 设置过滤条件\n setGroup(group) {\n if (group?.length) {\n if (this._features?.length) {\n this._features.map(feature => {\n let show = true;\n group.map(v => {\n v.filter = stringToFun(v.filter);\n if (v?.filter?.(feature.values_)) {\n if (v.hasOwnProperty('show') && !v.show) {\n show = false;\n }\n }\n });\n feature.show = show;\n });\n }\n this.group = group;\n this.setVisibleByGroup();\n\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n } else {\n this.setStyle(this.getStyleByMode());\n }\n\n this.setAlarmBgByFeatures(this._features);\n }\n }\n\n // 根据过滤条件组显示图层\n setVisibleByGroup() {\n const group = this.group;\n if (group?.length) {\n let visible = false;\n\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n visible = true;\n }\n });\n\n this.setVisible(visible);\n }\n }\n\n // 设置图层显示隐藏\n setVisible(visible) {\n super.setVisible(visible); // 将属性传递给父类\n\n const map = this.getMap && this.getMap();\n if (map) {\n map.layers.onChange();\n }\n\n // 判断是否完成过初始化,没有的话就加载一波数据\n if (!this.inited) {\n this.init();\n }\n\n if (!visible) {\n this.clearAlarmBg();\n } else {\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n }\n\n clearMoveEnd() {\n const map = this.map;\n if (map && this.moveEnd) {\n map.un('moveend', this.moveEnd);\n this.moveEnd = null;\n }\n }\n\n destroy() {\n this.clearMoveEnd();\n this.clearAlarmBg();\n }\n}\n\nexport default FeatureLayer;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FeatureLayer.js","names":["_layer","require","_ol","_source","_renderer","_interopRequireDefault","_style6","_isFunction","_createFeatureCollection","_isObject","_encryptParams","_stringToFun","_convertCamelToCSS","_MyCluster","_Marker","_excluded","_excluded2","_excluded3","_excluded4","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","_typeof","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","configurable","writable","_toPropertyKey","_createClass","protoProps","staticProps","_get","Reflect","get","bind","property","receiver","base","_superPropBase","desc","value","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","set","_set","isStrict","s","hasOwnProperty","getPrototypeOf","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","addOverlay","feature","map","alarmBg","itemVal","find","v","values_","image","style","dom","document","createElement","src","className","cssText","overlay","Overlay","element","positioning","stopEvent","setPosition","getGeometry","getCoordinates","FeatureLayer","_Vector","_super","options","_thisSuper","_this2","url","params","data","dataField","features","sourceOptions","label","labelField","point","cluster","template","autoRefresh","method","layerControl","show","group","iconOptions","afterGetData","legend","viewOnly","encrypt","valueField","tipTemplate","cancelPopup","other","VectorSource","defaultShow","f","stringToFun","size","_ref","color","background","backgroundStroke","backgroundStrokeWidth","otherVal","text","font","fill","Fill","padding","justify","textAlign","textBaseline","offsetY","offsetX","backgroundFill","Stroke","width","Text","_options","isCluster","_feature$get","distance","inited","item","convertCamelToCSS","_features","init","loadUrlData","loadData","setVisible","val","setStyle","getStyleByMode","setClusterMode","setShow","_this3","_ref2","isObject","setClusterSource","destroy","oldZoom","getView","getZoom","moveEnd","on","zoom","_this3$_options$clust","zoomThreshold","getCustomClusterStyle","clusterStyle","_feature$get2","type","iconSrc","_clusterStyle$scale","scale","numberStyle","numberScale","renderer","Marker","getImgUrl","hideFooter","info","fontSize","getClusterTextStyle","anchor","_this4","resolution","_feature$get3","_this4$group","_cluster$style","_this4$_options","otherStyle","_v$filter","styles","isFunction","_styles","getMarkerOptions","Style","_style","getSimpleStyle","Simple","_style3","mode","render","getMultipleStyle","UniqueValue","ClassBreaks","Circle","radius","stroke","_render","_render$style","_render$style2","icon","_render$render","_this5","_feature$get4","iconSize","_this$_options","isFun","_data","_data$style","_data2","_data3","_data3$style","_data4","_data5","_data5$style","_data6","_data7","_data7$style","_data8","_data9","_data9$style","_data10","_data11","_data11$style","_data12","P","marker","marker_cluster","commonStyle","point_cluster","_Object$keys","includes","_data13","customText","getLabelStyle","_cluster$style2","_this$_features","_this6","_this","_cluster","minDistance","clusterSource","Cluster","clusterChange","setAlarmBgByFeatures","createCluster","_group","Feature","geometry","layerKey","_group2","_groupItem","_groupItem$clusterSty","groupItem","_v$filter2","markerStyle","_style4","_markerStyle2","_cluster2","_markerStyle","setProperties","setSource","clearAlarmBg","_this$overlays","_this7","overlays","removeOverlay","_this8","_feature","refresh","_this9","getDataByHttpByParams","field","then","new_features","newFeatures","getFeatureByFieldValue","id","getSource","addFeatures","getFeatures","changed","clear","createGeoJson","_this10","encryptParams","loadFeatures","getFeaturesByFieldValueOpera","_ref3","_this11","_ref3$operation","operation","Promise","resolve","reject","fun","Function","concat","err","_v$values_$field","_v$values_$field2","_v$values_$field3","getMap","setGroup","_this$_features2","_v$filter3","setVisibleByGroup","visible","layers","onChange","clearMoveEnd","un","Vector","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import { Vector } from 'ol/layer';\nimport { Feature, Overlay } from 'ol';\nimport { Vector as VectorSource } from 'ol/source';\nimport renderer from '../renderer';\nimport { Fill, Style, Text, Stroke, Circle } from 'ol/style';\nimport isFunction from '../_util/isFunction';\nimport { getDataByHttpByParams, createGeoJson } from './createFeatureCollection';\nimport isObject from '../_util/isObject';\nimport encryptParams from '../_util/encryptParams';\nimport stringToFun from '../_util/stringToFun';\nimport convertCamelToCSS from '../convertCamelToCSS';\nimport Cluster from './MyCluster';\nimport { getImgUrl } from '../marker/Marker';\n\nconst addOverlay = (feature, map, alarmBg) => {\n if (alarmBg) {\n let itemVal = alarmBg.find(v => v.filter(feature.values_));\n if (itemVal) {\n let { image, style } = itemVal;\n let dom;\n if (image) {\n dom = document.createElement('img');\n dom.src = image;\n } else {\n dom = document.createElement('div');\n dom.className = `ol-map-icon-alarm`;\n }\n\n if (style) {\n dom.style.cssText = style;\n }\n\n const overlay = new Overlay({\n element: dom,\n positioning: 'bottom-center',\n stopEvent: true,\n className: 'ol-overlay_container-stop_event',\n });\n\n map.addOverlay(overlay);\n\n overlay.setPosition(feature.getGeometry().getCoordinates());\n\n return overlay;\n }\n }\n};\n\nclass FeatureLayer extends Vector {\n constructor(options) {\n const {\n url,\n params,\n data,\n dataField,\n features,\n sourceOptions,\n key,\n name,\n label,\n labelField,\n point,\n cluster,\n template,\n autoRefresh,\n method,\n layerControl,\n show,\n style,\n group,\n iconOptions,\n afterGetData,\n legend,\n viewOnly,\n encrypt,\n valueField,\n map,\n tipTemplate,\n alarmBg,\n cancelPopup,\n ...other\n } = options;\n\n const props = {\n ...other,\n };\n props.source =\n props.source ||\n new VectorSource({\n features,\n ...sourceOptions,\n });\n\n let defaultShow = show;\n if (group?.length) {\n defaultShow = false;\n\n if (show) {\n group.map(f => {\n if (f.show) {\n defaultShow = true;\n }\n\n // 将字符函数转化为可执行的函数\n f.filter = stringToFun(f.filter);\n });\n }\n }\n\n super(props);\n super.show = show;\n // 参数\n this._options = options;\n\n // 地图\n this.map = map;\n\n // 接口地址\n this.url = url;\n\n // 接口地址请求类型\n this.method = method;\n\n // 接口查询参数\n this.params = params;\n\n // 图层标识\n this.key = key;\n\n // 图层名称\n this.name = name;\n\n // 标签\n this.label = label;\n\n // 标签字段\n this.labelField = labelField;\n\n // 聚合\n this.cluster = cluster;\n\n // 聚合距离\n this.distance = cluster?.distance || 80;\n\n // 海量点\n this.point = point;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 图层控制\n this.layerControl = layerControl;\n\n // 过滤\n this.group = group;\n\n // 处理获取的数据\n this.afterGetData = afterGetData;\n\n // 数据查询字段\n this.valueField = valueField;\n\n // 图例\n this.legend = legend;\n\n // 样式\n this.style = style;\n\n // 数据\n this.data = data;\n\n // 数据取值字段\n this.dataField = dataField || 'geometryInfo';\n\n // 仅展示\n this.viewOnly = viewOnly;\n\n // 是否初始化\n this.inited = false;\n\n // 加密\n this.encrypt = encrypt;\n\n // 气泡模板\n this.tipTemplate = tipTemplate;\n\n // 取消气泡\n this.cancelPopup = cancelPopup;\n\n // 报警背景\n if (alarmBg) {\n this.alarmBg = (Array.isArray(alarmBg) ? alarmBg : [alarmBg]).map(item => {\n let { filter, style } = item;\n filter = stringToFun(filter);\n if (style) {\n style = item.style && typeof item.style === 'object' ? style : { color: style };\n style = convertCamelToCSS(style);\n }\n return {\n ...item,\n filter,\n style,\n };\n });\n }\n\n // 临时数据\n this._features = [];\n\n // 默认是否展示\n if (defaultShow) {\n this.init();\n }\n }\n\n // 初始化数据\n init() {\n // 是否存在地址\n if (this.url) {\n // 执行\n this.loadUrlData(this.url, this.params, this.method);\n }\n\n // 直接加载数据\n if (this.data) {\n // 执行\n this.loadData(this.data);\n }\n\n this.inited = true;\n }\n\n // 重写父类的属性访问器\n get show() {\n return super.show;\n }\n\n set show(value) {\n this.setVisible(value);\n }\n\n set label(val) {\n this._options.label = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set point(val) {\n this._options.point = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set cluster(val) {\n this.setClusterMode(val);\n }\n\n setShow(value) {\n this.show = value;\n this.setVisible(value);\n }\n\n setClusterMode(val) {\n const { show } = isObject(val) ? val : { show: val };\n this.setClusterSource(val);\n this.setStyle(this.getStyleByMode());\n\n if (this.map && show) {\n const map = this.map;\n this.destroy();\n\n // 监听地图缩放大于阈值时取消聚合\n let oldZoom = map.getView().getZoom();\n this.moveEnd = map.on('moveend', () => {\n const zoom = map.getView().getZoom(); //获取当前地图的缩放级别\n if (oldZoom !== zoom) {\n oldZoom = zoom;\n if (zoom >= (this._options.cluster?.zoomThreshold || 14)) {\n this.setClusterSource();\n } else {\n this.setClusterSource(val);\n }\n }\n });\n }\n }\n\n getClusterTextStyle = (size, options) => {\n const { color, background, backgroundStroke, backgroundStrokeWidth, ...otherVal } =\n options && typeof options === 'object' ? options : {};\n const style = {\n text: String(size),\n font: '18px Calibri,sans-serif',\n fill: new Fill({\n color: color || '#fff',\n }),\n padding: [0, 0, 0, 0],\n justify: 'center',\n textAlign: 'center',\n textBaseline: 'middle',\n offsetY: -22,\n offsetX: 16,\n ...otherVal,\n };\n\n if (background) {\n style.backgroundFill = new Fill({\n color: background,\n });\n }\n\n if (backgroundStroke) {\n style.backgroundStroke = new Stroke({\n color: '#FFFFFF',\n width: backgroundStrokeWidth || 2,\n });\n }\n return new Text(style);\n };\n\n getLabelStyle = (feature, color) => {\n let { labelField } = this._options;\n\n // 判断是否是聚合点位\n if (feature.isCluster) {\n const size = feature.get('features')?.length || 0;\n if (size !== 1) {\n return;\n }\n }\n if (labelField) {\n return new Text({\n text: feature.values_[labelField] || '-',\n font: '12px Calibri,sans-serif',\n fill: new Fill({\n color,\n }),\n backgroundFill: new Fill({\n color: '#fff',\n }),\n backgroundStroke: new Stroke({\n color,\n width: 1,\n }),\n padding: [4, 2, 2, 4],\n justify: 'center',\n textBaseline: 'middle',\n offsetY: 12,\n });\n }\n };\n\n getCustomClusterStyle(feature, clusterStyle) {\n const { type, iconSrc, color, scale = 1, numberStyle, numberScale, ...iconOptions } = clusterStyle;\n const size = feature.get('features')?.length || 0;\n\n return [\n new renderer.Marker({\n image: getImgUrl(type || 'CommonIcon', {\n color: color || '#2491fc',\n hideFooter: true,\n info: { text: '', fontSize: 18 },\n }),\n text: this.getClusterTextStyle(size, numberStyle),\n scale: numberScale || 1,\n }),\n new renderer.Marker({\n image: iconSrc,\n scale: scale || 1,\n anchor: [1.1, 1.25],\n ...iconOptions,\n }),\n ];\n }\n\n getStyleByMode() {\n return (feature, resolution) => {\n const size = feature.get('features')?.length || 0;\n let { style, cluster, otherStyle } = this._options;\n let show = true;\n\n this.group?.map(v => {\n if (v?.filter?.(feature.values_)) {\n style = v.style || style;\n if (v.hasOwnProperty('show') && !v.show) {\n show = false;\n }\n }\n });\n feature.show = show;\n\n if (!show) {\n return null;\n }\n\n const styles = [];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles);\n } else {\n styles.push(_styles);\n }\n }\n }\n }\n\n if (size > 1 && cluster?.style?.iconSrc) {\n return this.getCustomClusterStyle(feature, cluster.style);\n }\n if (style) {\n if (typeof style === 'string' || (isFunction(style) && cluster)) {\n styles.push(new renderer.Marker({ ...this.getMarkerOptions(feature, style) }));\n return styles;\n } else if (style instanceof Style) {\n // 判断是否为 ol Style\n styles.push(style);\n return styles;\n } else if (isFunction(style)) {\n // 判断是否为自定义函数渲染\n\n let _style = style(feature);\n if (_style?.type && _style?.style) {\n const options = this.getSimpleStyle(feature, _style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n styles.push(_style);\n return styles;\n } else if (isObject(style)) {\n let { mode } = style;\n if (mode) {\n if (mode === 'Simple') {\n const options = this.getSimpleStyle(feature, style.render);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n if (mode === 'UniqueValue') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.UniqueValue(feature, options));\n return styles;\n }\n\n if (mode === 'ClassBreaks') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.ClassBreaks(feature, options));\n return styles;\n }\n } else if (style.style) {\n const options = this.getSimpleStyle(feature, style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n }\n }\n styles.push(\n new Style({\n image: new Circle({\n radius: 4,\n fill: new Fill({\n color: 'rgba(0,155,255, 0.8)',\n }),\n }),\n fill: new Fill({\n color: 'rgba(255, 255, 255, 0.6)',\n }),\n stroke: new Stroke({\n color: '#009BFF',\n width: 2,\n }),\n }),\n );\n return styles;\n };\n }\n\n getSimpleStyle(feature, _render) {\n let { cluster } = this._options;\n const render = { ..._render };\n if (\n render.type === 'Marker' &&\n (render?.style?.icon || (cluster && render?.style?.image))\n ) {\n render.style = {\n ...render.style,\n ...this.getMarkerOptions(feature, render.style),\n };\n }\n\n return render;\n }\n\n getMultipleStyle(feature, _render) {\n const render = { ..._render };\n\n if (render?.render?.length) {\n render.render = render.render.map(v => this.getSimpleStyle(feature, v));\n }\n\n return render;\n }\n\n getMarkerOptions(feature, style) {\n let icon = style?.icon || style;\n let image = style?.image;\n let scale = style?.scale;\n let color = style?.color || '#2491fc';\n let iconSize = style?.size || null;\n let hideFooter = style?.hideFooter || null;\n let { cluster, point, label } = this._options;\n // 判断是否为自定义函数渲染\n let isFun = isFunction(style);\n let data = {};\n if (isFun) {\n data = style(feature) || {};\n icon = data?.style?.icon || data?.icon || icon;\n color = data?.style?.color || data?.color || color;\n image = data?.style?.image || data?.image || image;\n scale = data?.style?.scale || data?.scale || scale;\n iconSize = data?.style?.size || data?.size || iconSize;\n hideFooter = data?.style?.hideFooter || data?.hideFooter || hideFooter;\n }\n\n const size = feature.get('features')?.length || 0;\n const iconOptions = {\n size: iconSize,\n hideFooter,\n };\n let P = {\n marker: {\n // 图标\n icon,\n image,\n iconOptions,\n scale,\n },\n point: {\n // 点位\n icon,\n type: 'PointIcon',\n iconOptions,\n },\n marker_cluster: {\n // 聚合图标\n icon,\n image,\n scale,\n color: size > 1 ? '' : color,\n iconOptions:\n size > 1\n ? {\n hideFooter: true,\n info: { text: '', fontSize: 18 },\n ...(cluster?.iconOptions || {}),\n }\n : {},\n ...(size > 1 ? cluster?.style : cluster?.commonStyle),\n },\n point_cluster: {\n // 聚合点位\n icon,\n type: 'PointIcon',\n iconOptions:\n size > 1\n ? {\n text: size,\n }\n : {},\n ...(size > 1 && cluster?.style),\n },\n };\n\n let type = point ? 'point' : 'marker';\n\n if (cluster) {\n if (isObject(cluster)) {\n if (cluster.show) {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n } else {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n }\n\n let _style = P[type];\n if (label) {\n if (Object.keys(data)?.includes('customText')) {\n _style.text = data?.customText;\n } else {\n _style.text = this.getLabelStyle(feature, color);\n }\n }\n\n if (feature.isCluster && size > 1 && type === 'marker_cluster') {\n _style.text = this.getClusterTextStyle(size, cluster?.style?.numberStyle);\n }\n\n return _style;\n }\n\n setClusterSource(cluster) {\n let _this = this;\n cluster = isObject(cluster) ? cluster : { show: cluster };\n let { show, minDistance, distance, group } = cluster;\n let source = new VectorSource({\n features: this._features?.filter(v => !v.hasOwnProperty('show') || v.show),\n });\n if (show) {\n group = group || this.group;\n let clusterSource = new Cluster({\n distance: distance || 100,\n minDistance: minDistance || 50,\n source,\n group,\n clusterChange: features => {\n this.setAlarmBgByFeatures(features);\n },\n createCluster: (point, features) => {\n let feature = new Feature({\n geometry: point,\n features: features.map(v => {\n v.layerKey = _this.key;\n return v;\n }),\n });\n\n if (group?.length) {\n let style, groupItem;\n const f = features[0];\n const size = features.length;\n group?.map(v => {\n if (v?.filter?.(f.values_)) {\n style = v.style || style;\n groupItem = v;\n }\n });\n\n // 当点位单独展示时,并且style为自定义函数\n if (size === 1 && isFunction(style)) {\n style = style(f);\n }\n\n let markerStyle = { ...style.style };\n\n if (size > 1 && groupItem?.clusterStyle?.iconSrc) {\n let _style = this.getCustomClusterStyle(\n feature,\n groupItem.clusterStyle,\n );\n feature.setStyle(_style);\n } else {\n if (size > 1) {\n if (style?.clusterStyle) {\n markerStyle = { ...style.clusterStyle };\n }\n\n const { numberStyle, iconOptions, ...otherStyle } = markerStyle;\n markerStyle = {\n ...otherStyle,\n text: this.getClusterTextStyle(\n markerStyle?.image ? size : ' ',\n numberStyle,\n ),\n iconOptions: {\n hideFooter: true,\n info: { text: size, fontSize: 18 },\n ...(iconOptions || cluster?.iconOptions || {}),\n },\n };\n }\n let _style = new renderer.Marker(markerStyle);\n feature.setStyle(_style);\n }\n }\n\n // 增加聚合点位标识\n feature.isCluster = true;\n\n if (features.length === 1) {\n feature.setProperties(features[0].values_);\n }\n\n return feature;\n },\n ...cluster,\n });\n\n this.setSource(clusterSource);\n } else {\n this.setSource(source);\n }\n }\n\n // 清除报警背景\n clearAlarmBg() {\n if (this.map && this.overlays?.length) {\n this.overlays.map(overlay => this.map.removeOverlay(overlay));\n this.overlays = null;\n }\n }\n\n // 设置报警背景\n setAlarmBgByFeatures(features) {\n this.clearAlarmBg();\n this.overlays = [];\n\n if (this.map && this.alarmBg && features?.length) {\n features.map(feature => {\n let _feature = feature;\n\n const cluster = feature.get('features');\n if (cluster) {\n _feature = cluster.length < 2 ? cluster[0] : null;\n }\n\n if (_feature && (_feature.hasOwnProperty('show') ? _feature.show : true)) {\n let overlay = addOverlay(_feature, this.map, this.alarmBg);\n if (overlay) {\n this.overlays.push(overlay);\n }\n }\n });\n }\n }\n\n refresh() {\n getDataByHttpByParams({\n url: this.url,\n params: this.params,\n method: this.method,\n afterGetData: this.afterGetData,\n field: this.dataField,\n }).then(features => {\n if (features) {\n let new_features = features;\n this._features = new_features;\n\n let newFeatures = [];\n new_features.map(v => {\n let f = this.getFeatureByFieldValue('id', v.values_.id);\n if (f) {\n f.values_ = v.values_;\n } else {\n newFeatures.push(v);\n }\n });\n\n if (newFeatures.length) {\n this.getSource().addFeatures(newFeatures);\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n\n this.getSource().changed();\n }\n });\n }\n\n loadData(data) {\n this.getSource().clear();\n let features = createGeoJson(data, this.dataField);\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n loadUrlData(url, params, method, afterGetData = this.afterGetData) {\n this.getSource().clear();\n this._features = [];\n\n if (this.encrypt) {\n params = encryptParams(params, this.encrypt);\n }\n\n getDataByHttpByParams({\n url,\n params,\n method,\n afterGetData,\n field: this.dataField,\n }).then(features => {\n this.getSource().clear();\n this._features = [];\n\n if (features?.length) {\n this._features = features;\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n });\n }\n\n loadFeatures(features) {\n this.getSource().clear();\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n getFeatures() {\n const source = this.getSource().source || this.getSource();\n return source.getFeatures();\n }\n\n getFeatureByFieldValue(field, value) {\n return this.getFeatures().find(v => v.values_[field] === value);\n }\n\n getFeaturesByFieldValueOpera({ field, value, operation = '===', features, filter }) {\n return new Promise((resolve, reject) => {\n let _features = features || this.getFeatures();\n if (filter) {\n _features = _features.filter(feature => filter(feature.values_));\n }\n\n let result = _features;\n\n if (operation && value !== undefined) {\n if (['>', '>=', '<', '<=', '===', '!=='].includes(operation)) {\n try {\n // 通过动态创建方法自动传入操作符\n const fun = new Function(\n 'features',\n 'field',\n 'value',\n `return features.filter(v => v.values_[field] ${operation} value)`,\n );\n result = fun(_features, field, value);\n } catch (err) {\n reject(err);\n }\n } else if (operation === 'like') {\n // 包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n } else if (operation === 'notLike') {\n // 不包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) === -1);\n } else {\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n }\n }\n\n resolve(result);\n });\n }\n\n // 获取地图\n getMap() {\n return this.map;\n }\n\n // 设置过滤条件\n setGroup(group) {\n if (group?.length) {\n if (this._features?.length) {\n this._features.map(feature => {\n let show = true;\n group.map(v => {\n v.filter = stringToFun(v.filter);\n if (v?.filter?.(feature.values_)) {\n if (v.hasOwnProperty('show') && !v.show) {\n show = false;\n }\n }\n });\n feature.show = show;\n });\n }\n this.group = group;\n this.setVisibleByGroup();\n\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n } else {\n this.setStyle(this.getStyleByMode());\n }\n\n this.setAlarmBgByFeatures(this._features);\n }\n }\n\n // 根据过滤条件组显示图层\n setVisibleByGroup() {\n const group = this.group;\n if (group?.length) {\n let visible = false;\n\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n visible = true;\n }\n });\n\n this.setVisible(visible);\n }\n }\n\n // 设置图层显示隐藏\n setVisible(visible) {\n super.setVisible(visible); // 将属性传递给父类\n\n const map = this.getMap && this.getMap();\n if (map) {\n map.layers.onChange();\n }\n\n // 判断是否完成过初始化,没有的话就加载一波数据\n if (!this.inited) {\n this.init();\n }\n\n if (!visible) {\n this.clearAlarmBg();\n } else {\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n }\n\n clearMoveEnd() {\n const map = this.map;\n if (map && this.moveEnd) {\n map.un('moveend', this.moveEnd);\n this.moveEnd = null;\n }\n }\n\n destroy() {\n this.clearMoveEnd();\n this.clearAlarmBg();\n }\n}\n\nexport default FeatureLayer;\n"],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "Dom", {
|
|
|
27
27
|
return _dom["default"];
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
|
+
Object.defineProperty(exports, "DomLayer", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _domLayer["default"];
|
|
34
|
+
}
|
|
35
|
+
});
|
|
30
36
|
Object.defineProperty(exports, "FeatureDraw", {
|
|
31
37
|
enumerable: true,
|
|
32
38
|
get: function get() {
|
|
@@ -197,5 +203,6 @@ var _wmsLayer = _interopRequireDefault(require("./wms-layer"));
|
|
|
197
203
|
var _legend = _interopRequireDefault(require("./legend"));
|
|
198
204
|
var _popup = _interopRequireDefault(require("./popup"));
|
|
199
205
|
var _dom = _interopRequireDefault(require("./dom"));
|
|
206
|
+
var _domLayer = _interopRequireDefault(require("./dom-layer"));
|
|
200
207
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
201
208
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_map","_interopRequireDefault","require","_tileLayer","_flowLineLayer","_flyLineLayer","_featureLayer","_imageLayer","_point","_marker","_polyline","_polygon","_circle","_tools","_poiSearch","_useProps","_provider","_bufferDraw","_highLayer","_groupLayer","_analysisLayer","_pathPlayBack","_searchMap","_heatmapLayer","_wmsLayer","_legend","_popup","_dom","obj","__esModule"],"sources":["index.js"],"sourcesContent":["export { default as Map } from './map';\nexport { default as TileLayer } from './tile-layer';\nexport { default as FlowLineLayer } from './flow-line-layer';\nexport { default as FlyLineLayer } from './fly-line-layer';\nexport { default as FeatureLayer } from './feature-layer';\nexport { default as ImageLayer } from './image-layer';\nexport { default as Point } from './point';\nexport { default as Marker } from './marker';\nexport { default as Polyline } from './polyline';\nexport { default as Polygon } from './polygon';\nexport { default as Circle } from './circle';\nexport { default as Tools } from './tools';\nexport { default as PoiSearch } from './poi-search';\nexport { default as useProps } from './use-props';\nexport { default as Provider } from './provider';\nexport { default as BufferDraw } from './buffer-draw';\nexport { default as HighLayer } from './high-layer';\nexport { default as FeatureDraw } from './feature-layer';\nexport { default as GroupLayer } from './group-layer';\nexport { default as AnalysisLayer } from './analysis-layer';\nexport { default as PathPlayBack } from './path-play-back';\nexport { default as SearchMap } from './search-map';\nexport { default as HeatmapLayer } from './heatmap-layer';\nexport { default as PathLineLayer } from './fly-line-layer';\nexport { default as WmsLayer } from './wms-layer';\nexport { default as Legend } from './legend';\nexport { default as Popup } from './popup';\nexport { default as Dom } from './dom';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_map","_interopRequireDefault","require","_tileLayer","_flowLineLayer","_flyLineLayer","_featureLayer","_imageLayer","_point","_marker","_polyline","_polygon","_circle","_tools","_poiSearch","_useProps","_provider","_bufferDraw","_highLayer","_groupLayer","_analysisLayer","_pathPlayBack","_searchMap","_heatmapLayer","_wmsLayer","_legend","_popup","_dom","_domLayer","obj","__esModule"],"sources":["index.js"],"sourcesContent":["export { default as Map } from './map';\nexport { default as TileLayer } from './tile-layer';\nexport { default as FlowLineLayer } from './flow-line-layer';\nexport { default as FlyLineLayer } from './fly-line-layer';\nexport { default as FeatureLayer } from './feature-layer';\nexport { default as ImageLayer } from './image-layer';\nexport { default as Point } from './point';\nexport { default as Marker } from './marker';\nexport { default as Polyline } from './polyline';\nexport { default as Polygon } from './polygon';\nexport { default as Circle } from './circle';\nexport { default as Tools } from './tools';\nexport { default as PoiSearch } from './poi-search';\nexport { default as useProps } from './use-props';\nexport { default as Provider } from './provider';\nexport { default as BufferDraw } from './buffer-draw';\nexport { default as HighLayer } from './high-layer';\nexport { default as FeatureDraw } from './feature-layer';\nexport { default as GroupLayer } from './group-layer';\nexport { default as AnalysisLayer } from './analysis-layer';\nexport { default as PathPlayBack } from './path-play-back';\nexport { default as SearchMap } from './search-map';\nexport { default as HeatmapLayer } from './heatmap-layer';\nexport { default as PathLineLayer } from './fly-line-layer';\nexport { default as WmsLayer } from './wms-layer';\nexport { default as Legend } from './legend';\nexport { default as Popup } from './popup';\nexport { default as Dom } from './dom';\nexport { default as DomLayer } from './dom-layer';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,aAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,WAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,OAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,SAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,QAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,OAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,MAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,UAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,SAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,SAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,WAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,UAAA,GAAAjB,sBAAA,CAAAC,OAAA;AAEA,IAAAiB,WAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,cAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,aAAA,GAAApB,sBAAA,CAAAC,OAAA;AACA,IAAAoB,UAAA,GAAArB,sBAAA,CAAAC,OAAA;AACA,IAAAqB,aAAA,GAAAtB,sBAAA,CAAAC,OAAA;AAEA,IAAAsB,SAAA,GAAAvB,sBAAA,CAAAC,OAAA;AACA,IAAAuB,OAAA,GAAAxB,sBAAA,CAAAC,OAAA;AACA,IAAAwB,MAAA,GAAAzB,sBAAA,CAAAC,OAAA;AACA,IAAAyB,IAAA,GAAA1B,sBAAA,CAAAC,OAAA;AACA,IAAA0B,SAAA,GAAA3B,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAA4B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA"}
|