@vtx/cs-map 1.0.6 → 1.0.7

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.
Files changed (46) hide show
  1. package/README.md +202 -202
  2. package/lib/_util/Provider.js +14 -0
  3. package/lib/_util/Provider.js.map +1 -0
  4. package/lib/_util/useProps.js +15 -0
  5. package/lib/_util/useProps.js.map +1 -0
  6. package/lib/feature-layer/FeatureLayer.js +3 -0
  7. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  8. package/lib/feature-layer/index.js +15 -22
  9. package/lib/feature-layer/index.js.map +1 -1
  10. package/lib/image-layer/ImageLayer.js +87 -0
  11. package/lib/image-layer/ImageLayer.js.map +1 -0
  12. package/lib/image-layer/index.js +58 -0
  13. package/lib/image-layer/index.js.map +1 -0
  14. package/lib/image-layer/style/css.js +4 -0
  15. package/lib/image-layer/style/css.js.map +1 -0
  16. package/lib/image-layer/style/index.css +0 -0
  17. package/lib/image-layer/style/index.js +4 -0
  18. package/lib/image-layer/style/index.js.map +1 -0
  19. package/lib/image-layer/style/index.less +0 -0
  20. package/lib/index.js +7 -0
  21. package/lib/index.js.map +1 -1
  22. package/lib/map/InfoTool/index.css +55 -0
  23. package/lib/map/InfoTool/index.js +247 -0
  24. package/lib/map/InfoTool/index.js.map +1 -0
  25. package/lib/map/InfoTool/index.less +46 -0
  26. package/lib/map/InfoTool/util.js +113 -0
  27. package/lib/map/InfoTool/util.js.map +1 -0
  28. package/lib/map/InfoWindow.js +11 -6
  29. package/lib/map/InfoWindow.js.map +1 -1
  30. package/lib/map/Popup.js +127 -79
  31. package/lib/map/Popup.js.map +1 -1
  32. package/lib/map/index.js +238 -72
  33. package/lib/map/index.js.map +1 -1
  34. package/lib/map/style/index.css +61 -9
  35. package/lib/map/style/index.less +63 -8
  36. package/lib/marker/index.js +6 -4
  37. package/lib/marker/index.js.map +1 -1
  38. package/lib/point/index.js +6 -4
  39. package/lib/point/index.js.map +1 -1
  40. package/lib/polygon/index.js +6 -4
  41. package/lib/polygon/index.js.map +1 -1
  42. package/lib/polyline/index.js +6 -4
  43. package/lib/polyline/index.js.map +1 -1
  44. package/lib/renderer/index.js +1 -1
  45. package/lib/renderer/index.js.map +1 -1
  46. package/package.json +121 -121
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_cesium","require","_util","_interopRequireDefault","_class","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","_defineProperty","value","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","_classPrivateFieldInitSpec","privateMap","_checkPrivateRedeclaration","set","privateCollection","has","_classPrivateFieldGet","receiver","_classExtractFieldDescriptor","_classApplyDescriptorGet","get","_classPrivateFieldSet","_classApplyDescriptorSet","action","_classStaticPrivateMethodGet","classConstructor","method","_classCheckPrivateStaticAccess","_element","WeakMap","InfoTool","options","viewer","map","document","createElement","add","callback","arguments","element","position","cartesian2d","cartesian3d","inputFeature","Cesium3DTileFeature","Cartesian2","Cartesian3","scene","pickPositionSupported","defined","pick","pickPosition","camera","pickEllipsoid","globe","ellipsoid","SceneTransforms","wgs84ToWindowCoordinates","that","info","type","feature","remove","propertyNames","getPropertyNames","propertyName","getProperty","properties","_propertyNames","_value","content","_createInfoTool","util","setInnerText","entityId","setCss","cartographic","Cartographic","fromCartesian","lon","CesiumMath","toDegrees","longitude","lat","latitude","setTimeout","_popup","height","offset","divPosition","fromDegrees","x","y","_hookToGlobe","parseInt","getCss","requestRender","hideOnBehindGlobe","cartesian2","preRender","addEventListener","canvasPosition","cartesianToCanvasCoordinates","cameraPosition","cartesianToCartographic","maximumRadius","distance","_default","exports"],"sources":["map/InfoTool/index.js"],"sourcesContent":["import {\n Math as CesiumMath,\n Cesium3DTileFeature,\n Cartesian2,\n Cartesian3,\n Cartographic,\n SceneTransforms,\n defined\n} from 'cesium';\nimport './index.less';\nimport util from './util';\n\n/**\n * 信息工具。\n *\n * @alias InfoTool\n * @constructor\n * @param {viewer} viewer Cesium视窗。\n */\nclass InfoTool {\n /**\n * 创建一个动态实体弹窗。\n *\n * @param {viewer} viewer Cesium视窗。\n * @param {Number} options 选项。\n * @param {Cartesian3} options.position 弹出位置。\n * @param {HTMLElement} options.element 弹出窗元素容器。\n * @param {Function} callback 回调函数。\n * @ignore\n */\n static #createInfoTool(viewer, options, callback = undefined) {\n const cartographic = Cartographic.fromCartesian(options.position);\n const lon = CesiumMath.toDegrees(cartographic.longitude); //.toFixed(5);\n const lat = CesiumMath.toDegrees(cartographic.latitude); //.toFixed(5);\n\n // 回调\n callback();\n\n // 添加div弹窗\n setTimeout(function () {\n InfoTool.#popup(\n viewer,\n options.element,\n lon,\n lat,\n cartographic.height,\n // options.geometryType,\n options.offset,\n );\n }, 100);\n }\n\n /**\n * 弹出HTML元素弹窗。\n * @param {viewer} viewer Cesium视窗。\n * @param {Element|HTMLElement} element 弹窗元素。\n * @param {Number} lon 经度。\n * @param {Number} lat 纬度。\n * @param {Number} height 高度。\n * @ignore\n */\n static #popup(viewer, element, lon, lat, height, offset) {\n setTimeout(function () {\n // 设置元素效果\n util.setCss(element, 'opacity', '1');\n util.setCss(element, 'z-index', '0');\n }, 100);\n const divPosition = Cartesian3.fromDegrees(lon, lat, height);\n\n let x = offset?.x || 0;\n let y = offset?.y || 0;\n\n InfoTool.#hookToGlobe(\n viewer,\n element,\n divPosition,\n [-4 + x, -parseInt(util.getCss(element, 'offsetHeight') + y)],\n true,\n );\n viewer.scene.requestRender();\n }\n\n /**\n * 将HTML弹窗挂接到地球上。\n *\n * @param {viewer} viewer Cesium视窗。\n * @param {Element} element 弹窗元素。\n * @param {Cartesian3} position 地图坐标点。\n * @param {Array} offset 偏移。\n * @param {Boolean} hideOnBehindGlobe 当元素在地球背面会自动隐藏,以减轻判断计算压力。\n * @ignore\n */\n static #hookToGlobe(viewer, element, position, offset, hideOnBehindGlobe) {\n const scene = viewer.scene,\n camera = viewer.camera;\n const cartesian2 = new Cartesian2();\n scene.preRender.addEventListener(function () {\n const canvasPosition = scene.cartesianToCanvasCoordinates(position, cartesian2); // 笛卡尔坐标到画布坐标\n if (defined(canvasPosition)) {\n util.setCss(element, 'left', parseInt(canvasPosition.x + offset[0]) + 'px');\n util.setCss(element, 'top', parseInt(canvasPosition.y + offset[1]) + 'px');\n\n // 是否在地球背面隐藏\n if (hideOnBehindGlobe) {\n const cameraPosition = camera.position;\n let height = scene.globe.ellipsoid.cartesianToCartographic(cameraPosition)\n .height;\n height += scene.globe.ellipsoid.maximumRadius;\n if (!(Cartesian3.distance(cameraPosition, position) > height)) {\n // util.setCss(element, 'display', 'flex');\n } else {\n util.setCss(element, 'display', 'none');\n }\n }\n }\n });\n }\n\n #element;\n viewer;\n\n constructor(options) {\n this.viewer = options.map;\n // 在Cesium容器中添加元素\n this.#element = document.createElement('div');\n }\n\n /**\n * 添加。\n * @param {Object} options 选项。\n * @param {Element} options.element 弹窗元素。\n * @param {Cartesian2|Cartesian3} options.position 点击位置。\n * @param {Cesium3DTileFeature} [options.inputFeature] 模型要素。\n * @param {String} options.type 类型(默认值为default,即任意点击模式;如果设置为info,即信息模式,只有点击Feature才会响应)。\n * @param {String} options.content 内容(只有类型为default时才起作用)。\n * @param {Function} callback 回调函数。\n */\n add(options, callback = undefined) {\n this.element = options.element;\n // 判断参数为空返回\n if (!options) {\n return;\n }\n // 点\n let position, cartesian2d, cartesian3d, inputFeature;\n if (options instanceof Cesium3DTileFeature) {\n inputFeature = options;\n options = {};\n } else {\n if (options instanceof Cartesian2 || options instanceof Cartesian3) {\n position = options;\n options = {};\n } else {\n position = options.position;\n inputFeature = options.inputFeature;\n }\n // 判断点位为空返回\n if (!position) {\n return;\n }\n if (position instanceof Cartesian2) {\n // 二维转三维\n // 如果支持拾取模型则取模型值\n cartesian3d =\n this.viewer.scene.pickPositionSupported &&\n defined(this.viewer.scene.pick(options.position))\n ? this.viewer.scene.pickPosition(position)\n : this.viewer.camera.pickEllipsoid(\n position,\n this.viewer.scene.globe.ellipsoid,\n );\n cartesian2d = position;\n } else {\n cartesian3d = position;\n cartesian2d = SceneTransforms.wgs84ToWindowCoordinates(\n this.viewer.scene,\n cartesian3d,\n );\n }\n // 判断点位为空返回\n if (!cartesian3d) {\n return;\n }\n }\n\n const that = this;\n\n // 1.组织信息\n let info = '';\n if (options.type === 'info') {\n // 拾取要素\n const feature = inputFeature || this.viewer.scene.pick(cartesian2d);\n // 判断拾取要素为空返回\n if (!defined(feature)) {\n this.remove();\n return;\n }\n\n if (feature instanceof Cesium3DTileFeature) {\n // 3dtiles\n let propertyNames = feature.getPropertyNames();\n let length = propertyNames.length;\n for (let i = 0; i < length; ++i) {\n let propertyName = propertyNames[i];\n info +=\n '\"' + (propertyName + '\": \"' + feature.getProperty(propertyName)) + '\",\\n';\n }\n } else if (feature) {\n // Entity\n const properties = feature.properties;\n if (properties) {\n let propertyNames = properties._propertyNames;\n let length = propertyNames.length;\n for (let i = 0; i < length; ++i) {\n let propertyName = propertyNames[i];\n info +=\n '\"' +\n (propertyName + '\": \"' + properties[propertyName]._value) +\n '\",\\n';\n }\n }\n }\n } else {\n options.content && (info = options.content);\n }\n\n // 2.生成特效\n // 添加之前先移除\n this.remove();\n // if (!info) {\n // return;\n // }\n options.position = cartesian3d;\n options.element = options.element || this.#element;\n\n InfoTool.#createInfoTool(this.viewer, options, function () {\n util.setInnerText(options.element, info);\n typeof callback === 'function' && callback();\n });\n }\n\n /**\n * 移除。\n */\n remove(entityId = undefined) {\n util.setCss(this.element, 'opacity', '0');\n util.setCss(this.element, 'z-index', '-1');\n util.setCss(this.#element, 'opacity', '0');\n }\n}\n\nexport default InfoTool;\n"],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ .helsing-three-plugins-infotool {
2
+ display: none;
3
+ flex-direction: column-reverse;
4
+ position: fixed;
5
+ top: 0;
6
+ left: 0;
7
+ min-width: 100px;
8
+ height: 250px;
9
+ user-select: none;
10
+ pointer-events: none;
11
+ }
12
+ .helsing-three-plugins-infotool > div:nth-child(1) {
13
+ left: 0;
14
+ width: 40px;
15
+ height: 0;
16
+ bottom: 0;
17
+ }
18
+ .helsing-three-plugins-infotool > div:nth-child(2) {
19
+ opacity: 0;
20
+ box-shadow: 0 0 8px 0 rgba(0, 170, 255, 0.6) inset;
21
+ padding: 20px;
22
+ user-select: text;
23
+ pointer-events: auto;
24
+ }
25
+
26
+ .element {
27
+ position: absolute;
28
+ background: rgba(2, 24, 45, 0.92);
29
+ border: 1px solid #2c69a6;
30
+ border-radius: 10px;
31
+ box-shadow: 0px 0px 10px 2px rgba(24, 144, 255, 0.35) inset;
32
+ height: 100px;
33
+ width: 300px;
34
+ }
35
+
36
+ .tooltip-arrow {
37
+ position: absolute;
38
+ left: 100px;
39
+ bottom: -20px;
40
+ width: 0px;
41
+ height: 0px;
42
+ border-bottom: 10px solid transparent;
43
+ border-top: 10px solid rgba(2, 24, 45, 1);
44
+ border-right: 10px solid transparent;
45
+ border-left: 10px solid transparent;
46
+ }
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
+ var _default = {
9
+ /**
10
+ * 设置CSS。
11
+ *
12
+ * @param {Element|HTMLElement|String} srcNodeRef 元素ID、元素或数组。
13
+ * @param {String} property 属性。
14
+ * @param {String} value 值。
15
+ */
16
+ setCss: function setCss(srcNodeRef, property, value) {
17
+ if (srcNodeRef) {
18
+ if (srcNodeRef instanceof Array && srcNodeRef.length > 0) {
19
+ for (var i = 0; i < srcNodeRef.length; i++) {
20
+ srcNodeRef[i].style.setProperty(property, value);
21
+ }
22
+ } else if (typeof srcNodeRef === 'string') {
23
+ if (srcNodeRef.indexOf('#') < 0 && srcNodeRef.indexOf('.') < 0 && srcNodeRef.indexOf(' ') < 0) {
24
+ var element = document.getElementById(srcNodeRef);
25
+ element && element.style.setProperty(property, value);
26
+ } else {
27
+ var elements = document.querySelectorAll(srcNodeRef);
28
+ for (var _i = 0; _i < elements.length; _i++) {
29
+ elements[_i].style.setProperty(property, value);
30
+ }
31
+ }
32
+ } else if (srcNodeRef instanceof HTMLElement) {
33
+ srcNodeRef.style.setProperty(property, value);
34
+ }
35
+ }
36
+ },
37
+ /**
38
+ * 设置元素的值。
39
+ *
40
+ * @param {String|HTMLElement|Array} srcNodeRef 元素ID、元素或数组。
41
+ * @param {String} value 值。
42
+ */
43
+ setInnerText: function setInnerText(srcNodeRef, value) {
44
+ if (srcNodeRef) {
45
+ if (srcNodeRef instanceof Array && srcNodeRef.length > 0) {
46
+ var that = this;
47
+ for (var i = 0; i < srcNodeRef.length; i++) {
48
+ var element = srcNodeRef[i];
49
+ if (that.isElement(element)) {
50
+ element.innerText = value;
51
+ }
52
+ }
53
+ } else if (typeof srcNodeRef === 'string') {
54
+ if (srcNodeRef.indexOf('#') < 0 && srcNodeRef.indexOf('.') < 0 && srcNodeRef.indexOf(' ') < 0) {
55
+ var _element = document.getElementById(srcNodeRef);
56
+ _element && (_element.innerText = value);
57
+ } else {
58
+ var elements = document.querySelectorAll(srcNodeRef);
59
+ for (var _i2 = 0; _i2 < elements.length; _i2++) {
60
+ elements[_i2].innerText = value;
61
+ }
62
+ }
63
+ } else {
64
+ if (this.isElement(srcNodeRef)) {
65
+ // srcNodeRef.innerHTML = value;
66
+ }
67
+ }
68
+ }
69
+ },
70
+ /**
71
+ * 判断对象是否为元素。
72
+ *
73
+ * @param {Object} obj 对象。
74
+ * @returns {Boolean} 是或否。
75
+ */
76
+ isElement: function isElement(obj) {
77
+ return (typeof HTMLElement === "undefined" ? "undefined" : _typeof(HTMLElement)) === 'object' ? obj instanceof HTMLElement : !!(obj && _typeof(obj) === 'object' && (obj.nodeType === 1 || obj.nodeType === 9) && typeof obj.nodeName === 'string');
78
+ },
79
+ /**
80
+ * 获取全球唯一ID。
81
+ *
82
+ * @author Helsing
83
+ * @date 2019/11/21
84
+ * @param {Boolean} removeMinus 是否去除“-”号。
85
+ * @returns {String} GUID。
86
+ */
87
+ getGuid: function getGuid(removeMinus) {
88
+ var d = new Date().getTime();
89
+ var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
90
+ var r = (d + Math.random() * 16) % 16 | 0;
91
+ d = Math.floor(d / 16);
92
+ return (c === 'x' ? r : r & 0x3 | 0x8).toString(16);
93
+ });
94
+ if (removeMinus) {
95
+ uuid = uuid.replace(/-/g, '');
96
+ }
97
+ return uuid;
98
+ },
99
+ getCss: function getCss(element, type) {
100
+ var height = 0;
101
+ if (element) {
102
+ if (type === 'offsetHeight') {
103
+ height = (element === null || element === void 0 ? void 0 : element[type]) || 0;
104
+ } else {
105
+ var _element$style;
106
+ height = (element === null || element === void 0 || (_element$style = element.style) === null || _element$style === void 0 ? void 0 : _element$style[type]) || 0;
107
+ }
108
+ }
109
+ return height;
110
+ }
111
+ };
112
+ exports["default"] = _default;
113
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","names":["setCss","srcNodeRef","property","value","Array","length","i","style","setProperty","indexOf","element","document","getElementById","elements","querySelectorAll","HTMLElement","setInnerText","that","isElement","innerText","obj","_typeof","nodeType","nodeName","getGuid","removeMinus","d","Date","getTime","uuid","replace","c","r","Math","random","floor","toString","getCss","type","height","_element$style","exports","_default"],"sources":["map/InfoTool/util.js"],"sourcesContent":["export default {\n /**\n * 设置CSS。\n *\n * @param {Element|HTMLElement|String} srcNodeRef 元素ID、元素或数组。\n * @param {String} property 属性。\n * @param {String} value 值。\n */\n setCss: function(srcNodeRef, property, value) {\n if (srcNodeRef) {\n if (srcNodeRef instanceof Array && srcNodeRef.length > 0) {\n for (let i = 0; i < srcNodeRef.length; i++) {\n srcNodeRef[i].style.setProperty(property, value);\n }\n } else if (typeof srcNodeRef === 'string') {\n if (\n srcNodeRef.indexOf('#') < 0 &&\n srcNodeRef.indexOf('.') < 0 &&\n srcNodeRef.indexOf(' ') < 0\n ) {\n const element = document.getElementById(srcNodeRef);\n element && element.style.setProperty(property, value);\n } else {\n const elements = document.querySelectorAll(srcNodeRef);\n for (let i = 0; i < elements.length; i++) {\n elements[i].style.setProperty(property, value);\n }\n }\n } else if (srcNodeRef instanceof HTMLElement) {\n srcNodeRef.style.setProperty(property, value);\n }\n }\n },\n\n /**\n * 设置元素的值。\n *\n * @param {String|HTMLElement|Array} srcNodeRef 元素ID、元素或数组。\n * @param {String} value 值。\n */\n setInnerText: function(srcNodeRef, value) {\n if (srcNodeRef) {\n if (srcNodeRef instanceof Array && srcNodeRef.length > 0) {\n const that = this;\n for (let i = 0; i < srcNodeRef.length; i++) {\n let element = srcNodeRef[i];\n if (that.isElement(element)) {\n element.innerText = value;\n }\n }\n } else if (typeof srcNodeRef === 'string') {\n if (\n srcNodeRef.indexOf('#') < 0 &&\n srcNodeRef.indexOf('.') < 0 &&\n srcNodeRef.indexOf(' ') < 0\n ) {\n let element = document.getElementById(srcNodeRef);\n element && (element.innerText = value);\n } else {\n const elements = document.querySelectorAll(srcNodeRef);\n for (let i = 0; i < elements.length; i++) {\n elements[i].innerText = value;\n }\n }\n } else {\n if (this.isElement(srcNodeRef)) {\n // srcNodeRef.innerHTML = value;\n }\n }\n }\n },\n\n /**\n * 判断对象是否为元素。\n *\n * @param {Object} obj 对象。\n * @returns {Boolean} 是或否。\n */\n isElement: function(obj) {\n return typeof HTMLElement === 'object'\n ? obj instanceof HTMLElement\n : !!(\n obj &&\n typeof obj === 'object' &&\n (obj.nodeType === 1 || obj.nodeType === 9) &&\n typeof obj.nodeName === 'string'\n );\n },\n\n /**\n * 获取全球唯一ID。\n *\n * @author Helsing\n * @date 2019/11/21\n * @param {Boolean} removeMinus 是否去除“-”号。\n * @returns {String} GUID。\n */\n getGuid: function(removeMinus) {\n let d = new Date().getTime();\n let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n const r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n if (removeMinus) {\n uuid = uuid.replace(/-/g, '');\n }\n return uuid;\n },\n\n getCss: function(element, type) {\n let height = 0;\n if (element) {\n if (type === 'offsetHeight') {\n height = element?.[type] || 0;\n } else {\n height = element?.style?.[type] || 0;\n }\n }\n return height;\n },\n};\n"],"mappings":"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"}
@@ -19,23 +19,23 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
19
19
  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; }
20
20
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
21
21
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
- var closeHandler;
23
22
  function _default(props) {
24
23
  var _props$offset, _props$offset2;
25
24
  var _useState = (0, _react.useState)({}),
26
25
  _useState2 = _slicedToArray(_useState, 2),
27
26
  position = _useState2[0],
28
27
  setPosition = _useState2[1];
28
+ var closeHandler = (0, _react.useRef)();
29
29
  (0, _react.useEffect)(function () {
30
30
  if (props._position) {
31
31
  // 先销毁已注册的事件
32
- if (closeHandler) {
33
- closeHandler.call();
34
- closeHandler = null;
32
+ if (closeHandler.current) {
33
+ closeHandler.current.call();
34
+ closeHandler.current = null;
35
35
  }
36
36
  var c = new _cesium.Cartesian2(props.position.x, props.position.y);
37
37
  setPosition(c);
38
- closeHandler = props.map.scene.postRender.addEventListener(function () {
38
+ closeHandler.current = props.map.scene.postRender.addEventListener(function () {
39
39
  var changedC = _SceneTransforms["default"].wgs84ToWindowCoordinates(props.map.scene, props._position);
40
40
  if (c && changedC && c.x && changedC.x && c.y && changedC.y) {
41
41
  if (c.x !== changedC.x || c.y !== changedC.y) {
@@ -46,8 +46,13 @@ function _default(props) {
46
46
  });
47
47
  }
48
48
  }, [props._position]);
49
+ (0, _react.useImperativeHandle)(props.infoWindowRef, function () {
50
+ return {
51
+ destory: close
52
+ };
53
+ });
49
54
  var close = function close() {
50
- closeHandler && closeHandler.call();
55
+ closeHandler.current && closeHandler.current.call();
51
56
  props.onClose && props.onClose();
52
57
  };
53
58
  var style = {
@@ -1 +1 @@
1
- {"version":3,"file":"InfoWindow.js","names":["_react","_interopRequireWildcard","require","_cesium","_SceneTransforms","_interopRequireDefault","_classnames","_icons","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","isArray","closeHandler","_default","props","_props$offset","_props$offset2","_useState","useState","_useState2","position","setPosition","useEffect","_position","c","Cartesian2","x","y","map","scene","postRender","addEventListener","changedC","SceneTransforms","wgs84ToWindowCoordinates","close","onClose","style","top","concat","left","marginTop","offset","marginLeft","createElement","className","classNames","CloseOutlined","onClick","children"],"sources":["map/InfoWindow.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Cartesian2 } from 'cesium';\nimport SceneTransforms from 'cesium/Source/Scene/SceneTransforms';\nimport classNames from 'classnames';\nimport { CloseOutlined } from '@ant-design/icons';\n\nvar closeHandler;\nexport default function (props) {\n const [position, setPosition] = useState({});\n\n useEffect(() => {\n if (props._position) {\n // 先销毁已注册的事件\n if (closeHandler) {\n closeHandler.call();\n closeHandler = null;\n }\n var c = new Cartesian2(props.position.x, props.position.y);\n setPosition(c);\n closeHandler = props.map.scene.postRender.addEventListener(function () {\n let changedC = SceneTransforms.wgs84ToWindowCoordinates(\n props.map.scene,\n props._position,\n );\n if (c && changedC && c.x && changedC.x && c.y && changedC.y) {\n if (c.x !== changedC.x || c.y !== changedC.y) {\n c = changedC;\n setPosition(changedC);\n }\n }\n });\n }\n }, [props._position]);\n\n const close = () => {\n closeHandler && closeHandler.call();\n props.onClose && props.onClose();\n };\n\n const style = {\n top: `${position.y || 0}px`,\n left: `${position.x || 0}px`,\n marginTop: `${props.offset?.y || 0}px`,\n marginLeft: `${props.offset?.x || 0}px`,\n };\n return (\n <div className={classNames('cesium-popup')} style={style}>\n <CloseOutlined onClick={close} className={classNames('cesium-close')} />\n {props.children}\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"InfoWindow.js","names":["_react","_interopRequireWildcard","require","_cesium","_SceneTransforms","_interopRequireDefault","_classnames","_icons","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","isArray","_default","props","_props$offset","_props$offset2","_useState","useState","_useState2","position","setPosition","closeHandler","useRef","useEffect","_position","current","c","Cartesian2","x","y","map","scene","postRender","addEventListener","changedC","SceneTransforms","wgs84ToWindowCoordinates","useImperativeHandle","infoWindowRef","destory","close","onClose","style","top","concat","left","marginTop","offset","marginLeft","createElement","className","classNames","CloseOutlined","onClick","children"],"sources":["map/InfoWindow.js"],"sourcesContent":["import React, { useEffect, useImperativeHandle, useState, useRef } from 'react';\nimport { Cartesian2 } from 'cesium';\nimport SceneTransforms from 'cesium/Source/Scene/SceneTransforms';\nimport classNames from 'classnames';\nimport { CloseOutlined } from '@ant-design/icons';\n\nexport default function (props) {\n const [position, setPosition] = useState({});\n const closeHandler = useRef();\n\n useEffect(() => {\n if (props._position) {\n // 先销毁已注册的事件\n if (closeHandler.current) {\n closeHandler.current.call();\n closeHandler.current = null;\n }\n let c = new Cartesian2(props.position.x, props.position.y);\n setPosition(c);\n closeHandler.current = props.map.scene.postRender.addEventListener(function () {\n let changedC = SceneTransforms.wgs84ToWindowCoordinates(\n props.map.scene,\n props._position,\n );\n if (c && changedC && c.x && changedC.x && c.y && changedC.y) {\n if (c.x !== changedC.x || c.y !== changedC.y) {\n c = changedC;\n setPosition(changedC);\n }\n }\n });\n }\n }, [props._position]);\n\n useImperativeHandle(props.infoWindowRef, () => {\n return {\n destory: close\n }\n })\n\n const close = () => {\n closeHandler.current && closeHandler.current.call();\n props.onClose && props.onClose();\n };\n\n const style = {\n top: `${position.y || 0}px`,\n left: `${position.x || 0}px`,\n marginTop: `${props.offset?.y || 0}px`,\n marginLeft: `${props.offset?.x || 0}px`,\n };\n return (\n <div className={classNames('cesium-popup')} style={style}>\n <CloseOutlined onClick={close} className={classNames('cesium-close')} />\n {props.children}\n </div>\n );\n}\n"],"mappings":"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"}
package/lib/map/Popup.js CHANGED
@@ -4,23 +4,68 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports["default"] = _default;
7
+ exports.handelGeometry = exports["default"] = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
+ var _cesium = require("cesium");
9
10
  var _icons = require("@ant-design/icons");
10
- var _ol = require("ol");
11
- var _layer2 = require("ol/layer");
12
- var _layer3 = require("../_util/layer");
11
+ var _InfoTool = _interopRequireDefault(require("./InfoTool"));
13
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _turf = require("@turf/turf");
14
+ var _useProps2 = _interopRequireDefault(require("../_util/useProps"));
14
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
16
  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); }
16
17
  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; }
17
18
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
18
19
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
- 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); }
20
- 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; }
21
20
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
22
21
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
- function _default(props) {
22
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
23
+ 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."); }
24
+ 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); }
25
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
26
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
27
+ 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; }
28
+ var handelGeometry = function handelGeometry(entity) {
29
+ var _entity$data, _midpoint;
30
+ var geometry = entity === null || entity === void 0 || (_entity$data = entity.data) === null || _entity$data === void 0 ? void 0 : _entity$data.geometry;
31
+ var type = geometry === null || geometry === void 0 ? void 0 : geometry.type;
32
+ var coordinates = geometry === null || geometry === void 0 ? void 0 : geometry.coordinates;
33
+ var midpoint = entity === null || entity === void 0 ? void 0 : entity.data; // 默认点
34
+ var position = null;
35
+ var offset = {
36
+ x: 0,
37
+ y: 20
38
+ };
39
+ if (['MultiLineString', 'LineString'].includes(type) && coordinates !== null && coordinates !== void 0 && coordinates.length) {
40
+ // 线
41
+ var lngLatArr = coordinates[0];
42
+ var point1 = (0, _turf.point)(lngLatArr[0]);
43
+ var point2 = (0, _turf.point)(lngLatArr[1]);
44
+ midpoint = (0, _turf.midpoint)(point1, point2);
45
+ } else if (['Polygon', 'MultiPolygon'].includes(type)) {
46
+ // 面
47
+ // 注意:polygon首尾坐标要一致
48
+ var polygon = (0, _turf.polygon)(coordinates);
49
+ midpoint = (0, _turf.centerOfMass)(polygon);
50
+ } else if (['Point'].includes(type)) {
51
+ offset = {
52
+ x: 5,
53
+ y: 20
54
+ };
55
+ }
56
+ if ((_midpoint = midpoint) !== null && _midpoint !== void 0 && (_midpoint = _midpoint.geometry) !== null && _midpoint !== void 0 && _midpoint.coordinates) {
57
+ position = _cesium.Cartesian3.fromDegrees.apply(_cesium.Cartesian3, _toConsumableArray(midpoint.geometry.coordinates));
58
+ }
59
+ return {
60
+ position: position,
61
+ geometryType: type,
62
+ _offset: offset
63
+ };
64
+ };
65
+ exports.handelGeometry = handelGeometry;
66
+ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
67
+ var _useProps = (0, _useProps2["default"])(),
68
+ map = _useProps.map;
24
69
  var _useState = (0, _react.useState)(null),
25
70
  _useState2 = _slicedToArray(_useState, 2),
26
71
  content = _useState2[0],
@@ -29,96 +74,96 @@ function _default(props) {
29
74
  _useState4 = _slicedToArray(_useState3, 2),
30
75
  title = _useState4[0],
31
76
  setTitle = _useState4[1];
32
- var overlayRef = (0, _react.useRef)();
33
77
  var popupRef = (0, _react.useRef)();
34
- var map = props.map;
35
- (0, _react.useEffect)(function () {
36
- // 鼠标点击展示缩略信息
37
- map.on('click', onClick);
38
- var overlay = new _ol.Overlay({
39
- element: popupRef.current,
40
- autoPan: {
41
- animation: {
42
- duration: 250
43
- }
44
- },
45
- stopEvent: true,
46
- positioning: 'bottom-center',
47
- offset: [10, -45]
48
- });
49
- overlayRef.current = overlay;
50
-
51
- // 展示看板
52
- map.showTemplate = setTemplate;
53
-
54
- // 隐藏看板
55
- map.hideTemplate = onClose;
56
- map.addOverlay(overlay);
57
- return function () {
58
- map.un('click', onClick);
59
- map.removeOverlay(overlay);
78
+ var featureRef = (0, _react.useRef)();
79
+ var infoToolRef = (0, _react.useRef)(new _InfoTool["default"]({
80
+ map: map
81
+ }));
82
+ (0, _react.useImperativeHandle)(ref, function () {
83
+ return {
84
+ showTemplate: showTemplate,
85
+ hideTemplate: hideTemplate
60
86
  };
61
- }, []);
62
- var onClick = function onClick(event) {
63
- console.log('event.coordinate:', event.coordinate.join(','));
64
- if (!(map.analysisActive || map.toolboxActive)) {
65
- var feature = map.getFeaturesAtPixel(event.pixel)[0];
66
- if (feature) {
67
- map.hideTip();
68
- var layer = map.getLayerByFeature(feature);
69
- setTemplate(feature, layer);
70
- } else {
71
- var layers = map.getWmsVisibleLayers();
72
- (0, _layer3.getWMSFeatureInfoByLayers)(event, map, layers).then(function (features) {
73
- if (features !== null && features !== void 0 && features.length) {
74
- var _feature = features[0];
75
- var _layer = map.getLayerByKey(_feature.key);
76
- setTemplate(_feature, _layer);
77
- }
78
- });
79
- }
80
- }
81
- };
82
- var setTemplate = function setTemplate(feature) {
87
+ });
88
+ var showTemplate = function showTemplate(feature) {
89
+ var _feature$_polyline, _feature$_position;
83
90
  var layer = map.getLayerByFeature(feature);
84
91
  if (!(layer !== null && layer !== void 0 && layer.template)) {
85
92
  return;
86
93
  }
87
- map.highlightLayer.addHighlightFeature(feature);
94
+ var properties = map.getProperties(feature);
95
+ feature.values_ = properties;
96
+ featureRef.current = feature;
88
97
  if (layer) {
89
98
  var template = layer.template;
90
99
  var labelField = layer.labelField;
91
100
  if (labelField) {
92
- setTitle(feature.values_[labelField]);
101
+ setTitle(properties[labelField]);
93
102
  }
94
103
  if (template) {
95
- var _feature$getGeometry, _feature$getGeometry2;
96
104
  setContent(template(feature));
97
- overlayRef.current.values_.offset = layer instanceof _layer2.Image ? [10, -10] : [10, -45];
98
- var type = feature === null || feature === void 0 || (_feature$getGeometry = feature.getGeometry()) === null || _feature$getGeometry === void 0 ? void 0 : _feature$getGeometry.getType();
99
- var coordinate = feature === null || feature === void 0 || (_feature$getGeometry2 = feature.getGeometry()) === null || _feature$getGeometry2 === void 0 ? void 0 : _feature$getGeometry2.getCoordinates();
100
- if (['MultiLineString', 'LineString'].includes(type)) {
101
- var _feature$getGeometry3;
102
- // 线
103
- coordinate = feature === null || feature === void 0 || (_feature$getGeometry3 = feature.getGeometry()) === null || _feature$getGeometry3 === void 0 ? void 0 : _feature$getGeometry3.getFlatMidpoints();
104
- overlayRef.current.values_.offset = [7, 0];
105
- } else if (['Polygon', 'MultiPolygon'].includes(type)) {
106
- var _feature$getGeometry4;
107
- // 面
108
- coordinate = feature === null || feature === void 0 || (_feature$getGeometry4 = feature.getGeometry()) === null || _feature$getGeometry4 === void 0 ? void 0 : _feature$getGeometry4.getFlatInteriorPoint();
109
- overlayRef.current.values_.offset = [10, 0];
110
- }
111
- overlayRef.current.setPosition(coordinate);
112
105
  }
113
106
  }
107
+ var geometryType = 'point';
108
+ var _positions = (feature === null || feature === void 0 || (_feature$_polyline = feature._polyline) === null || _feature$_polyline === void 0 || (_feature$_polyline = _feature$_polyline._positions) === null || _feature$_polyline === void 0 ? void 0 : _feature$_polyline._value) || [];
109
+ var position = (feature === null || feature === void 0 || (_feature$_position = feature._position) === null || _feature$_position === void 0 ? void 0 : _feature$_position._value) || _positions[(_positions === null || _positions === void 0 ? void 0 : _positions.length) - 1];
110
+ // 偏移量
111
+ var offset = {
112
+ x: 5,
113
+ y: 76
114
+ };
115
+
116
+ // 影像图层的数据
117
+ if (feature instanceof _cesium.ImageryLayerFeatureInfo) {
118
+ var _handelGeometry = handelGeometry(feature),
119
+ _position = _handelGeometry.position,
120
+ _geometryType = _handelGeometry.geometryType,
121
+ _offset = _handelGeometry._offset;
122
+ position = _position;
123
+ geometryType = _geometryType;
124
+ offset = _offset;
125
+ }
126
+ infoToolRef.current.add({
127
+ position: position,
128
+ content: '',
129
+ element: popupRef.current,
130
+ inputFeature: feature,
131
+ type: '',
132
+ offset: offset
133
+ });
134
+ map.popupRef = feature;
114
135
  };
136
+ var hideTemplate = function hideTemplate() {
137
+ var _infoToolRef$current;
138
+ if (map.popupRef && !(map.popupRef instanceof _cesium.ImageryLayerFeatureInfo)) {
139
+ // LayerServer.viewerFlyTo(map, map.popupRef, {});
140
+ }
141
+ map.popupRef = null;
142
+ featureRef.current = null;
143
+ infoToolRef === null || infoToolRef === void 0 || (_infoToolRef$current = infoToolRef.current) === null || _infoToolRef$current === void 0 || _infoToolRef$current.remove();
144
+ if (map.entities.getById('highlight-1')) {
145
+ map.entities.remove(map.entities.getById('highlight-1'));
146
+ }
147
+ };
148
+
149
+ // 判断点位异常-点位异常展示红色
150
+ function judgeAbnormal() {
151
+ var _featureRef$current;
152
+ var _ref = map.getProperties(featureRef.current) || {},
153
+ status = _ref.status;
154
+ var key = (_featureRef$current = featureRef.current) === null || _featureRef$current === void 0 ? void 0 : _featureRef$current.key;
155
+ var abnormal = ['LLD', 'YLD', 'SZJCD'].includes(key) && [1, 2, 4].includes(status);
156
+ return abnormal;
157
+ }
115
158
  var onClose = function onClose() {
116
- overlayRef.current.setPosition(undefined);
117
- map.highlightLayer.clearFeatures();
159
+ map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);
160
+ hideTemplate();
118
161
  };
119
162
  return /*#__PURE__*/_react["default"].createElement("div", {
120
163
  ref: popupRef,
121
- className: (0, _classnames["default"])('ol-popup')
164
+ className: (0, _classnames["default"])('cesium-popup', {
165
+ abnormal: judgeAbnormal()
166
+ })
122
167
  }, /*#__PURE__*/_react["default"].createElement(_icons.CloseOutlined, {
123
168
  className: (0, _classnames["default"])('close'),
124
169
  width: 16,
@@ -129,7 +174,10 @@ function _default(props) {
129
174
  noTitle: !title
130
175
  })
131
176
  }, title), /*#__PURE__*/_react["default"].createElement("div", {
132
- className: (0, _classnames["default"])('content')
177
+ className: (0, _classnames["default"])('content'),
178
+ id: "content"
133
179
  }, content));
134
- }
180
+ });
181
+ var _default = Popup;
182
+ exports["default"] = _default;
135
183
  //# sourceMappingURL=Popup.js.map