@vtx/cs-map 1.0.105 → 1.0.107
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
CHANGED
|
@@ -10,7 +10,7 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
|
10
10
|
var _ahooks = require("ahooks");
|
|
11
11
|
var _useProps2 = _interopRequireDefault(require("../use-props"));
|
|
12
12
|
var _Dom = _interopRequireDefault(require("./Dom"));
|
|
13
|
-
var _excluded = ["data", "cssText", "show", "children"];
|
|
13
|
+
var _excluded = ["data", "getParentContainer", "style", "cssText", "show", "children"];
|
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -21,8 +21,22 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
21
21
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
22
22
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
23
23
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
24
|
+
// 将 jsx 的 style 小驼峰的 key 属性,转化为 cssText 的 -
|
|
25
|
+
var convertCamelToCSS = function convertCamelToCSS(style) {
|
|
26
|
+
var cssText = '';
|
|
27
|
+
for (var property in style) {
|
|
28
|
+
if (style.hasOwnProperty(property)) {
|
|
29
|
+
var value = style[property];
|
|
30
|
+
var cssProperty = property.replace(/([A-Z])/g, '-$1').toLowerCase();
|
|
31
|
+
cssText += "".concat(cssProperty, ": ").concat(value, "; ");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return cssText;
|
|
35
|
+
};
|
|
24
36
|
function _default(props) {
|
|
25
37
|
var data = props.data,
|
|
38
|
+
getParentContainer = props.getParentContainer,
|
|
39
|
+
style = props.style,
|
|
26
40
|
cssText = props.cssText,
|
|
27
41
|
_props$show = props.show,
|
|
28
42
|
show = _props$show === void 0 ? true : _props$show,
|
|
@@ -33,7 +47,7 @@ function _default(props) {
|
|
|
33
47
|
var domRef = (0, _react.useRef)(document.createElement('div'));
|
|
34
48
|
var overlay = (0, _react.useRef)();
|
|
35
49
|
(0, _react.useEffect)(function () {
|
|
36
|
-
|
|
50
|
+
setStyle(cssText, style);
|
|
37
51
|
overlay.current = new _Dom["default"](_objectSpread({
|
|
38
52
|
map: map,
|
|
39
53
|
position: data,
|
|
@@ -41,21 +55,40 @@ function _default(props) {
|
|
|
41
55
|
positioning: "bottom-center",
|
|
42
56
|
offset: [0, -10]
|
|
43
57
|
}, otherProps));
|
|
44
|
-
map._element
|
|
58
|
+
var parentDom = getParentContainer ? getParentContainer() : map._element;
|
|
59
|
+
parentDom.appendChild(domRef.current);
|
|
45
60
|
return function () {
|
|
46
61
|
overlay.current.destroy();
|
|
47
|
-
|
|
62
|
+
parentDom.removeChild(domRef.current);
|
|
48
63
|
};
|
|
49
64
|
}, []);
|
|
50
65
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
51
|
-
|
|
52
|
-
}, [cssText]);
|
|
66
|
+
setStyle(cssText, style);
|
|
67
|
+
}, [cssText, JSON.stringify(style)]);
|
|
53
68
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
54
69
|
overlay.current.setPosition(data);
|
|
55
70
|
}, [JSON.stringify(data)]);
|
|
56
71
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
57
72
|
domRef.current.style.display = show ? 'block' : 'none';
|
|
58
73
|
}, [show]);
|
|
74
|
+
var setStyle = function setStyle(_cssText, _style) {
|
|
75
|
+
var cssText = "\n display: ".concat(show ? 'block' : 'none', ";\n position: absolute;\n user-select: none;\n pointer-events: none;\n ");
|
|
76
|
+
|
|
77
|
+
// 兼容css未加;
|
|
78
|
+
if (_cssText) {
|
|
79
|
+
var lastStr = _cssText[_cssText.length - 1];
|
|
80
|
+
if (lastStr !== ';') {
|
|
81
|
+
_cssText = "".concat(_cssText, "; ");
|
|
82
|
+
}
|
|
83
|
+
cssText = "\n ".concat(cssText, "\n ").concat(_cssText, "\n ");
|
|
84
|
+
}
|
|
85
|
+
if (_style) {
|
|
86
|
+
// 转换为CSS文本
|
|
87
|
+
var styleToCss = convertCamelToCSS(_style);
|
|
88
|
+
cssText = "\n ".concat(cssText, "\n ").concat(styleToCss, "\n ");
|
|
89
|
+
}
|
|
90
|
+
domRef.current.style.cssText = cssText;
|
|
91
|
+
};
|
|
59
92
|
return /*#__PURE__*/_reactDom["default"].createPortal(children, domRef.current);
|
|
60
93
|
}
|
|
61
94
|
|
package/lib/dom/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_ahooks","_useProps2","_Dom","_excluded","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","_default","props","data","cssText","_props$show","show","children","otherProps","_useProps","useProps","map","domRef","useRef","document","createElement","overlay","useEffect","current","style","concat","Dom","position","element","positioning","offset","_element","appendChild","destroy","removeChild","useUpdateEffect","setPosition","JSON","stringify","display","ReactDOM","createPortal"],"sources":["dom/index.jsx"],"sourcesContent":["import React, {useRef, useEffect} from 'react';\nimport ReactDOM from 'react-dom';\nimport {useUpdateEffect} from 'ahooks';\nimport useProps from '../use-props';\nimport Dom from './Dom';\n\nexport default function (props) {\n const {data, cssText, show = true, children, ...otherProps} = props;\n const {map} = useProps();\n\n const domRef = useRef(document.createElement('div'));\n const overlay = useRef();\n\n useEffect(() => {\n domRef.current.style.cssText = `\n display: ${show ? 'block' : 'none'};\n position: absolute;\n user-select: none;\n pointer-events: none;\n ${cssText}\n `;\n\n overlay.current = new Dom({\n map,\n position: data,\n element: domRef.current,\n positioning: \"bottom-center\",\n offset: [0, -10],\n ...otherProps\n });\n\n map._element.appendChild(domRef.current);\n\n return () => {\n overlay.current.destroy();\n\n map._element.removeChild(domRef.current);\n }\n }, []);\n\n useUpdateEffect(() => {\n domRef.current.style.cssText = `\n display: ${show ? 'block' : 'none'};\n position: absolute;\n user-select: none;\n pointer-events: none;\n ${cssText}\n `\n }, [cssText])\n\n useUpdateEffect(() => {\n overlay.current.setPosition(data)\n }, [JSON.stringify(data)])\n\n useUpdateEffect(() => {\n domRef.current.style.display = show ? 'block' : 'none';\n }, [show])\n\n return ReactDOM.createPortal(\n children,\n domRef.current\n );\n}\n\n// export default function (props) {\n// const {data, style, show = true, children, ...otherProps} = props;\n// const {map} = useProps();\n//\n// const domRef = useRef();\n// const overlay = useRef();\n//\n// useEffect(() => {\n// overlay.current = new Dom({\n// map,\n// position: data,\n// element: domRef.current,\n// positioning: \"bottom-center\",\n// offset: [0, -10],\n// ...otherProps\n// });\n//\n// return () => {\n// overlay.current.destroy();\n// }\n// }, []);\n//\n// useUpdateEffect(() => {\n// overlay.current.setPosition(data)\n// }, [JSON.stringify(data)])\n//\n// return (\n// <div\n// ref={domRef}\n// style={{\n// display: show ? 'block' : 'none',\n// position: 'absolute',\n// userSelect: 'none',\n// pointerEvents: 'none',\n// ...style\n// }}\n// >\n// {children}\n// </div>\n// )\n// }\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_ahooks","_useProps2","_Dom","_excluded","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","convertCamelToCSS","style","cssText","property","cssProperty","replace","toLowerCase","concat","_default","props","data","getParentContainer","_props$show","show","children","otherProps","_useProps","useProps","map","domRef","useRef","document","createElement","overlay","useEffect","setStyle","current","Dom","position","element","positioning","offset","parentDom","_element","appendChild","destroy","removeChild","useUpdateEffect","JSON","stringify","setPosition","display","_cssText","_style","lastStr","styleToCss","ReactDOM","createPortal"],"sources":["dom/index.jsx"],"sourcesContent":["import React, {useRef, useEffect} from 'react';\nimport ReactDOM from 'react-dom';\nimport {useUpdateEffect} from 'ahooks';\nimport useProps from '../use-props';\nimport Dom from './Dom';\n\n// 将 jsx 的 style 小驼峰的 key 属性,转化为 cssText 的 -\nconst convertCamelToCSS = (style) => {\n let cssText = '';\n for (let property in style) {\n if (style.hasOwnProperty(property)) {\n let value = style[property];\n let cssProperty = property.replace(/([A-Z])/g, '-$1').toLowerCase();\n cssText += `${cssProperty}: ${value}; `;\n }\n }\n\n return cssText;\n}\n\nexport default function (props) {\n const {data, getParentContainer, style, cssText, show = true, children, ...otherProps} = props;\n const {map} = useProps();\n\n const domRef = useRef(document.createElement('div'));\n const overlay = useRef();\n\n useEffect(() => {\n setStyle(cssText, style);\n\n overlay.current = new Dom({\n map,\n position: data,\n element: domRef.current,\n positioning: \"bottom-center\",\n offset: [0, -10],\n ...otherProps\n });\n\n const parentDom = getParentContainer ? getParentContainer() : map._element;\n parentDom.appendChild(domRef.current);\n\n return () => {\n overlay.current.destroy();\n\n parentDom.removeChild(domRef.current);\n }\n }, []);\n\n useUpdateEffect(() => {\n setStyle(cssText, style);\n }, [cssText, JSON.stringify(style)]);\n\n useUpdateEffect(() => {\n overlay.current.setPosition(data)\n }, [JSON.stringify(data)])\n\n useUpdateEffect(() => {\n domRef.current.style.display = show ? 'block' : 'none';\n }, [show])\n\n const setStyle = (_cssText, _style) => {\n let cssText = `\n display: ${show ? 'block' : 'none'};\n position: absolute;\n user-select: none;\n pointer-events: none;\n `;\n\n // 兼容css未加;\n if (_cssText) {\n const lastStr = _cssText[_cssText.length - 1];\n if (lastStr !== ';') {\n _cssText = `${_cssText}; `\n }\n\n cssText = `\n ${cssText}\n ${_cssText}\n `\n }\n\n if (_style) {\n // 转换为CSS文本\n const styleToCss = convertCamelToCSS(_style);\n cssText = `\n ${cssText}\n ${styleToCss}\n `\n }\n\n domRef.current.style.cssText = cssText;\n }\n\n return ReactDOM.createPortal(\n children,\n domRef.current\n );\n}\n\n// export default function (props) {\n// const {data, style, show = true, children, ...otherProps} = props;\n// const {map} = useProps();\n//\n// const domRef = useRef();\n// const overlay = useRef();\n//\n// useEffect(() => {\n// overlay.current = new Dom({\n// map,\n// position: data,\n// element: domRef.current,\n// positioning: \"bottom-center\",\n// offset: [0, -10],\n// ...otherProps\n// });\n//\n// return () => {\n// overlay.current.destroy();\n// }\n// }, []);\n//\n// useUpdateEffect(() => {\n// overlay.current.setPosition(data)\n// }, [JSON.stringify(data)])\n//\n// return (\n// <div\n// ref={domRef}\n// style={{\n// display: show ? 'block' : 'none',\n// position: 'absolute',\n// userSelect: 'none',\n// pointerEvents: 'none',\n// ...style\n// }}\n// >\n// {children}\n// </div>\n// )\n// }\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -204,7 +204,7 @@ function _popup(viewer, element, lon, lat, height, offset) {
|
|
|
204
204
|
var divPosition = _cesium.Cartesian3.fromDegrees(lon, lat, height);
|
|
205
205
|
var x = (offset === null || offset === void 0 ? void 0 : offset.x) || 0;
|
|
206
206
|
var y = (offset === null || offset === void 0 ? void 0 : offset.y) || 0;
|
|
207
|
-
_hookToGlobe.call(_InfoTool, viewer, element, divPosition, [-4 + x,
|
|
207
|
+
_hookToGlobe.call(_InfoTool, viewer, element, divPosition, [-4 + x, y], true);
|
|
208
208
|
viewer.scene.requestRender();
|
|
209
209
|
}
|
|
210
210
|
/**
|
|
@@ -221,28 +221,29 @@ function _hookToGlobe(viewer, element, position, offset, hideOnBehindGlobe) {
|
|
|
221
221
|
var scene = viewer.scene,
|
|
222
222
|
camera = viewer.camera;
|
|
223
223
|
var cartesian2 = new _cesium.Cartesian2();
|
|
224
|
+
var height = viewer._lastHeight;
|
|
224
225
|
var _style = {};
|
|
225
226
|
scene.preRender.addEventListener(function () {
|
|
226
227
|
var canvasPosition = scene.cartesianToCanvasCoordinates(position, cartesian2); // 笛卡尔坐标到画布坐标
|
|
227
228
|
|
|
228
229
|
if ((0, _cesium.defined)(canvasPosition)) {
|
|
229
230
|
var left = parseInt(canvasPosition.x + offset[0]);
|
|
230
|
-
var
|
|
231
|
+
var bottom = parseInt(height - canvasPosition.y + offset[1]);
|
|
231
232
|
if (_style.left) {
|
|
232
233
|
_style.left = _style.left - left > 1 || _style.left - left < -1 ? left : _style.left;
|
|
233
234
|
} else {
|
|
234
235
|
_style.left = left;
|
|
235
236
|
}
|
|
236
|
-
_style.
|
|
237
|
+
_style.bottom = bottom;
|
|
237
238
|
_util["default"].setCss(element, 'left', _style.left + 'px');
|
|
238
|
-
_util["default"].setCss(element, '
|
|
239
|
+
_util["default"].setCss(element, 'bottom', _style.bottom + 'px');
|
|
239
240
|
|
|
240
241
|
// 是否在地球背面隐藏
|
|
241
242
|
if (hideOnBehindGlobe) {
|
|
242
243
|
var cameraPosition = camera.position;
|
|
243
|
-
var
|
|
244
|
-
|
|
245
|
-
if (!(_cesium.Cartesian3.distance(cameraPosition, position) >
|
|
244
|
+
var _height = scene.globe.ellipsoid.cartesianToCartographic(cameraPosition).height;
|
|
245
|
+
_height += scene.globe.ellipsoid.maximumRadius;
|
|
246
|
+
if (!(_cesium.Cartesian3.distance(cameraPosition, position) > _height)) {
|
|
246
247
|
// util.setCss(element, 'display', 'flex');
|
|
247
248
|
} else {
|
|
248
249
|
// util.setCss(element, 'display', 'none');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_cesium","require","_util","_interopRequireDefault","_InfoTool","e","__esModule","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","_defineProperty","value","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","String","Number","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","set","has","_classPrivateFieldGet","s","get","_assertClassBrand","_classPrivateFieldSet","arguments","_element","WeakMap","InfoTool","options","viewer","map","document","createElement","add","callback","undefined","element","position","cartesian2d","cartesian3d","inputFeature","Cesium3DTileFeature","Cartesian2","Cartesian3","scene","pickPositionSupported","defined","pick","pickPosition","camera","pickEllipsoid","globe","ellipsoid","SceneTransforms","wgs84ToWindowCoordinates","that","info","type","feature","remove","_feature$getPropertyN","propertyNames","getPropertyNames","propertyName","getProperty","properties","_propertyNames","_value","content","_createInfoTool","util","setInnerText","show","setCss","cartographic","Cartographic","fromCartesian","lon","CesiumMath","toDegrees","longitude","lat","latitude","setTimeout","_popup","height","offset","divPosition","fromDegrees","x","y","_hookToGlobe","parseInt","getCss","requestRender","hideOnBehindGlobe","cartesian2","_style","preRender","addEventListener","canvasPosition","cartesianToCanvasCoordinates","left","top","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\n let _style = {};\n scene.preRender.addEventListener(function () {\n const canvasPosition = scene.cartesianToCanvasCoordinates(position, cartesian2); // 笛卡尔坐标到画布坐标\n\n if (defined(canvasPosition)) {\n const left = parseInt(canvasPosition.x + offset[0]);\n const top = parseInt(canvasPosition.y + offset[1]);\n\n if (_style.left) {\n _style.left = ((_style.left - left > 1) || (_style.left - left < -1)) ? left : _style.left;\n } else {\n _style.left = left;\n }\n\n _style.top = top;\n util.setCss(element, 'left', _style.left + 'px');\n util.setCss(element, 'top', _style.top + 'px');\n\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 show() {\n util.setCss(this.element, 'opacity', '1');\n util.setCss(this.element, 'z-index', '1');\n util.setCss(this.#element, 'opacity', '1');\n }\n\n /**\n * 移除。\n */\n remove() {\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_cesium","require","_util","_interopRequireDefault","_InfoTool","e","__esModule","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","_defineProperty","value","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","String","Number","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","set","has","_classPrivateFieldGet","s","get","_assertClassBrand","_classPrivateFieldSet","arguments","_element","WeakMap","InfoTool","options","viewer","map","document","createElement","add","callback","undefined","element","position","cartesian2d","cartesian3d","inputFeature","Cesium3DTileFeature","Cartesian2","Cartesian3","scene","pickPositionSupported","defined","pick","pickPosition","camera","pickEllipsoid","globe","ellipsoid","SceneTransforms","wgs84ToWindowCoordinates","that","info","type","feature","remove","_feature$getPropertyN","propertyNames","getPropertyNames","propertyName","getProperty","properties","_propertyNames","_value","content","_createInfoTool","util","setInnerText","show","setCss","cartographic","Cartographic","fromCartesian","lon","CesiumMath","toDegrees","longitude","lat","latitude","setTimeout","_popup","height","offset","divPosition","fromDegrees","x","y","_hookToGlobe","requestRender","hideOnBehindGlobe","cartesian2","_lastHeight","_style","preRender","addEventListener","canvasPosition","cartesianToCanvasCoordinates","left","parseInt","bottom","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, 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 const height = viewer._lastHeight;\n\n let _style = {};\n scene.preRender.addEventListener(function () {\n const canvasPosition = scene.cartesianToCanvasCoordinates(position, cartesian2); // 笛卡尔坐标到画布坐标\n\n if (defined(canvasPosition)) {\n const left = parseInt(canvasPosition.x + offset[0]);\n const bottom = parseInt(height - canvasPosition.y + offset[1]);\n\n if (_style.left) {\n _style.left = ((_style.left - left > 1) || (_style.left - left < -1)) ? left : _style.left;\n } else {\n _style.left = left;\n }\n\n _style.bottom = bottom;\n util.setCss(element, 'left', _style.left + 'px');\n util.setCss(element, 'bottom', _style.bottom + 'px');\n\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 show() {\n util.setCss(this.element, 'opacity', '1');\n util.setCss(this.element, 'z-index', '1');\n util.setCss(this.#element, 'opacity', '1');\n }\n\n /**\n * 移除。\n */\n remove() {\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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","ignoreList":[]}
|