@vtx/cs-map 1.0.80 → 1.0.81

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 (32) hide show
  1. package/lib/cesium-tiles-layer/CesiumTilesLayer.js +5 -1
  2. package/lib/cesium-tiles-layer/CesiumTilesLayer.js.map +1 -1
  3. package/lib/feature-layer/FeatureLayer.js +5 -1
  4. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  5. package/lib/index.js +7 -0
  6. package/lib/index.js.map +1 -1
  7. package/lib/map/InfoTool/index.js +2 -1
  8. package/lib/map/InfoTool/index.js.map +1 -1
  9. package/lib/map/index.js +12 -5
  10. package/lib/map/index.js.map +1 -1
  11. package/lib/navigation/assets/arrows_e_active.png +0 -0
  12. package/lib/navigation/assets/arrows_n_active.png +0 -0
  13. package/lib/navigation/assets/arrows_s_active.png +0 -0
  14. package/lib/navigation/assets/arrows_w_active.png +0 -0
  15. package/lib/navigation/assets/compass_active.png +0 -0
  16. package/lib/navigation/assets/ring.png +0 -0
  17. package/lib/navigation/assets/ring_active.png +0 -0
  18. package/lib/navigation/assets/tilt.png +0 -0
  19. package/lib/navigation/assets/tiltbar.png +0 -0
  20. package/lib/navigation/assets/zoom.png +0 -0
  21. package/lib/navigation/assets/zoom_active_in.png +0 -0
  22. package/lib/navigation/assets/zoom_active_out.png +0 -0
  23. package/lib/navigation/assets/zoombar.png +0 -0
  24. package/lib/navigation/index.js +306 -0
  25. package/lib/navigation/index.js.map +1 -0
  26. package/lib/navigation/style/css.js +4 -0
  27. package/lib/navigation/style/css.js.map +1 -0
  28. package/lib/navigation/style/index.css +160 -0
  29. package/lib/navigation/style/index.js +4 -0
  30. package/lib/navigation/style/index.js.map +1 -0
  31. package/lib/navigation/style/index.less +176 -0
  32. package/package.json +1 -1
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _useProps4 = _interopRequireDefault(require("../_util/useProps"));
11
+ var _cesium = require("cesium");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+ 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); }
14
+ 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; }
15
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
+ 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."); }
17
+ 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); }
18
+ 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; }
19
+ 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; } }
20
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
+ var prefix = 'cs-map-navigation';
22
+ var useMouse = function useMouse(props) {
23
+ var timeRef = (0, _react.useRef)(null);
24
+ (0, _react.useEffect)(function () {
25
+ return function () {
26
+ onClear();
27
+ };
28
+ }, []);
29
+
30
+ // 鼠标按下
31
+ var onMouseDown = function onMouseDown(type, event) {
32
+ onClear();
33
+ timeRef.current = window.setInterval(function () {
34
+ var _props$callback;
35
+ (_props$callback = props.callback) === null || _props$callback === void 0 || _props$callback.call(props, type, event);
36
+ });
37
+ };
38
+
39
+ // 鼠标抬起
40
+ var onMouseUp = function onMouseUp() {
41
+ onClear();
42
+ };
43
+
44
+ // 清除定时器
45
+ var onClear = function onClear() {
46
+ if (timeRef.current) {
47
+ window.clearInterval(timeRef.current);
48
+ timeRef.current = null;
49
+ }
50
+ };
51
+ return {
52
+ onMouseDown: onMouseDown,
53
+ onMouseUp: onMouseUp
54
+ };
55
+ };
56
+
57
+ // 视角移动
58
+ var useViewMove = function useViewMove() {
59
+ var _useProps = (0, _useProps4["default"])(),
60
+ map = _useProps.map;
61
+ var _useMouse = useMouse({
62
+ callback: function callback(type) {
63
+ // 获取相机到椭球表面的距离
64
+ var cameraHeight = map.scene.globe.ellipsoid.cartesianToCartographic(map.camera.position).height;
65
+
66
+ // 根据相机到椭球表面的距离,计算移动速度
67
+ var moveRate = cameraHeight / 200.0;
68
+ map.camera[type](moveRate);
69
+ }
70
+ }),
71
+ onMouseDown = _useMouse.onMouseDown,
72
+ onMouseUp = _useMouse.onMouseUp;
73
+ return {
74
+ onMouseDown: onMouseDown,
75
+ onMouseUp: onMouseUp
76
+ };
77
+ };
78
+
79
+ // 角度
80
+ var Angle = function Angle() {
81
+ var _useProps2 = (0, _useProps4["default"])(),
82
+ map = _useProps2.map;
83
+ var barRef = (0, _react.useRef)();
84
+
85
+ // // 监听角度变化
86
+ // useEffect(() => {
87
+ // const move = ()=> {
88
+ // // 将角度转换为弧度
89
+ // const rotation = CesiumMath.toDegrees(map.camera.pitch).toFixed(2);
90
+ // let radians = (rotation * Math.PI) / 180;
91
+ //
92
+ // // 获取元素中心点位置
93
+ // const rect = domRef.current.getBoundingClientRect();
94
+ // const centerX = rect.width / 2;
95
+ // const centerY = rect.height / 2;
96
+ //
97
+ // let distance = rect.width - 6;
98
+ //
99
+ // // 计算目标点的x和y坐标
100
+ // let left = centerX + distance * Math.cos(radians);
101
+ // let top = centerY + (distance / 2) * Math.sin(radians);
102
+ //
103
+ // barRef.current.style.left = left + "px";
104
+ // barRef.current.style.top = top + "px";
105
+ //
106
+ // }
107
+ //
108
+ // map.scene.postRender.addEventListener(move)
109
+ // return () => {
110
+ // map.scene.postRender.removeEventListener(move)
111
+ // }
112
+ // }, []);
113
+
114
+ var domRef = (0, _react.useRef)(null);
115
+ var onMouseDown = function onMouseDown(event) {
116
+ event.preventDefault();
117
+ var startX = event.clientX;
118
+ var startY = event.clientY;
119
+ var handleRotate = function handleRotate(e) {
120
+ var curX = e.clientX;
121
+ var curY = e.clientY;
122
+ var rect = domRef.current.getBoundingClientRect();
123
+ // 获取元素中心点位置
124
+ var centerX = rect.left + rect.width / 2;
125
+ var centerY = rect.top + rect.height / 2;
126
+
127
+ // 旋转前的角度
128
+ var rotateDegreeBefore = Math.atan2(startY - centerY, startX - centerX) / (Math.PI / 180);
129
+
130
+ // 旋转后的角度
131
+ var rotateDegreeAfter = Math.atan2(curY - centerY, curX - centerX) / (Math.PI / 180);
132
+
133
+ // 获取旋转的角度值
134
+ var nowRotate = rotateDegreeAfter - rotateDegreeBefore;
135
+ var radians = _cesium.Math.toRadians(nowRotate);
136
+ map.camera.lookUp(radians);
137
+ startX = curX;
138
+ startY = curY;
139
+ };
140
+ var handleMouseUp = function handleMouseUp() {
141
+ document.removeEventListener('mousemove', handleRotate);
142
+ document.removeEventListener('mouseup', handleMouseUp);
143
+ };
144
+ document.addEventListener('mousemove', handleRotate);
145
+ document.addEventListener('mouseup', handleMouseUp);
146
+ };
147
+ return /*#__PURE__*/_react["default"].createElement("div", {
148
+ ref: domRef,
149
+ className: (0, _classnames["default"])("".concat(prefix, "-angle"))
150
+ }, /*#__PURE__*/_react["default"].createElement("div", {
151
+ ref: barRef
152
+ // onMouseDown={onMouseDown}
153
+ ,
154
+ className: (0, _classnames["default"])("".concat(prefix, "-angle-bar")),
155
+ style: {
156
+ left: 58,
157
+ top: 5
158
+ }
159
+ }));
160
+ };
161
+
162
+ // 缩放
163
+ var Zoom = function Zoom() {
164
+ var _useViewMove = useViewMove(),
165
+ _onMouseDown = _useViewMove.onMouseDown,
166
+ _onMouseUp = _useViewMove.onMouseUp;
167
+ return /*#__PURE__*/_react["default"].createElement("div", {
168
+ className: (0, _classnames["default"])("".concat(prefix, "-zoom"))
169
+ }, /*#__PURE__*/_react["default"].createElement("div", {
170
+ className: (0, _classnames["default"])("".concat(prefix, "-zoom-in")),
171
+ onMouseDown: function onMouseDown() {
172
+ return _onMouseDown('moveForward');
173
+ },
174
+ onMouseUp: function onMouseUp() {
175
+ return _onMouseUp('moveForward');
176
+ }
177
+ }), /*#__PURE__*/_react["default"].createElement("div", {
178
+ className: (0, _classnames["default"])("".concat(prefix, "-zoom-bar"))
179
+ }), /*#__PURE__*/_react["default"].createElement("div", {
180
+ className: (0, _classnames["default"])("".concat(prefix, "-zoom-out")),
181
+ onMouseDown: function onMouseDown() {
182
+ return _onMouseDown('moveBackward');
183
+ },
184
+ onMouseUp: function onMouseUp() {
185
+ return _onMouseUp('moveBackward');
186
+ }
187
+ }));
188
+ };
189
+
190
+ // 箭头
191
+ var Arrows = function Arrows() {
192
+ var _useViewMove2 = useViewMove(),
193
+ _onMouseDown2 = _useViewMove2.onMouseDown,
194
+ _onMouseUp2 = _useViewMove2.onMouseUp;
195
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
196
+ className: (0, _classnames["default"])("".concat(prefix, "-arrows"))
197
+ }), /*#__PURE__*/_react["default"].createElement("div", {
198
+ className: (0, _classnames["default"])("".concat(prefix, "-arrows-e-active")),
199
+ onMouseDown: function onMouseDown() {
200
+ return _onMouseDown2('moveRight');
201
+ },
202
+ onMouseUp: function onMouseUp() {
203
+ return _onMouseUp2('moveRight');
204
+ }
205
+ }), /*#__PURE__*/_react["default"].createElement("div", {
206
+ className: (0, _classnames["default"])("".concat(prefix, "-arrows-n-active")),
207
+ onMouseDown: function onMouseDown() {
208
+ return _onMouseDown2('moveUp');
209
+ },
210
+ onMouseUp: function onMouseUp() {
211
+ return _onMouseUp2('moveUp');
212
+ }
213
+ }), /*#__PURE__*/_react["default"].createElement("div", {
214
+ className: (0, _classnames["default"])("".concat(prefix, "-arrows-s-active")),
215
+ onMouseDown: function onMouseDown() {
216
+ return _onMouseDown2('moveDown');
217
+ },
218
+ onMouseUp: function onMouseUp() {
219
+ return _onMouseUp2('moveDown');
220
+ }
221
+ }), /*#__PURE__*/_react["default"].createElement("div", {
222
+ className: (0, _classnames["default"])("".concat(prefix, "-arrows-w-active")),
223
+ onMouseDown: function onMouseDown() {
224
+ return _onMouseDown2('moveLeft');
225
+ },
226
+ onMouseUp: function onMouseUp() {
227
+ return _onMouseUp2('moveLeft');
228
+ }
229
+ }));
230
+ };
231
+
232
+ // 指南针
233
+ var Compass = function Compass() {
234
+ var _useProps3 = (0, _useProps4["default"])(),
235
+ map = _useProps3.map;
236
+ var _useState = (0, _react.useState)(0),
237
+ _useState2 = _slicedToArray(_useState, 2),
238
+ rotation = _useState2[0],
239
+ setRotation = _useState2[1];
240
+
241
+ // 监听角度变化
242
+ (0, _react.useEffect)(function () {
243
+ var move = function move() {
244
+ setRotation(_cesium.Math.toDegrees(map.camera.heading).toFixed(2));
245
+ };
246
+ map.scene.postRender.addEventListener(move);
247
+ return function () {
248
+ map.scene.postRender.removeEventListener(move);
249
+ };
250
+ }, []);
251
+ var domRef = (0, _react.useRef)(null);
252
+ var onMouseDown = function onMouseDown(event) {
253
+ event.preventDefault();
254
+ var startX = event.clientX;
255
+ var startY = event.clientY;
256
+ var handleRotate = function handleRotate(e) {
257
+ var curX = e.clientX;
258
+ var curY = e.clientY;
259
+ var rect = domRef.current.getBoundingClientRect();
260
+ // 获取元素中心点位置
261
+ var centerX = rect.left + rect.width / 2;
262
+ var centerY = rect.top + rect.height / 2;
263
+
264
+ // 旋转前的角度
265
+ var rotateDegreeBefore = Math.atan2(startY - centerY, startX - centerX) / (Math.PI / 180);
266
+
267
+ // 旋转后的角度
268
+ var rotateDegreeAfter = Math.atan2(curY - centerY, curX - centerX) / (Math.PI / 180);
269
+
270
+ // 获取旋转的角度值
271
+ var nowRotate = rotateDegreeAfter - rotateDegreeBefore;
272
+ var radians = _cesium.Math.toRadians(nowRotate);
273
+ map.camera.twistRight(radians);
274
+ startX = curX;
275
+ startY = curY;
276
+ };
277
+ var handleMouseUp = function handleMouseUp() {
278
+ document.removeEventListener('mousemove', handleRotate);
279
+ document.removeEventListener('mouseup', handleMouseUp);
280
+ };
281
+ document.addEventListener('mousemove', handleRotate);
282
+ document.addEventListener('mouseup', handleMouseUp);
283
+ };
284
+ return /*#__PURE__*/_react["default"].createElement("div", {
285
+ className: (0, _classnames["default"])("".concat(prefix, "-compass"))
286
+ }, /*#__PURE__*/_react["default"].createElement("div", {
287
+ ref: domRef,
288
+ className: (0, _classnames["default"])("".concat(prefix, "-compass-ring")),
289
+ onMouseDown: onMouseDown,
290
+ style: {
291
+ transform: "rotate(".concat(rotation, "deg)")
292
+ }
293
+ }, /*#__PURE__*/_react["default"].createElement("div", {
294
+ className: (0, _classnames["default"])("".concat(prefix, "-compass-ring-center"))
295
+ })));
296
+ };
297
+ var Navigation = function Navigation(props) {
298
+ var className = props.className,
299
+ style = props.style;
300
+ return /*#__PURE__*/_react["default"].createElement("div", {
301
+ className: (0, _classnames["default"])("".concat(prefix), className),
302
+ style: style
303
+ }, /*#__PURE__*/_react["default"].createElement(Compass, null), /*#__PURE__*/_react["default"].createElement(Arrows, null), /*#__PURE__*/_react["default"].createElement(Zoom, null));
304
+ };
305
+ var _default = exports["default"] = Navigation;
306
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_useProps4","_cesium","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","isArray","prefix","useMouse","props","timeRef","useRef","useEffect","onClear","onMouseDown","type","event","current","window","setInterval","_props$callback","callback","onMouseUp","clearInterval","useViewMove","_useProps","useProps","map","_useMouse","cameraHeight","scene","globe","ellipsoid","cartesianToCartographic","camera","position","height","moveRate","Angle","_useProps2","barRef","domRef","preventDefault","startX","clientX","startY","clientY","handleRotate","curX","curY","rect","getBoundingClientRect","centerX","left","width","centerY","top","rotateDegreeBefore","Math","atan2","PI","rotateDegreeAfter","nowRotate","radians","CesiumMath","toRadians","lookUp","handleMouseUp","document","removeEventListener","addEventListener","createElement","ref","className","classnames","concat","style","Zoom","_useViewMove","Arrows","_useViewMove2","Fragment","Compass","_useProps3","_useState","useState","_useState2","rotation","setRotation","move","toDegrees","heading","toFixed","postRender","twistRight","transform","Navigation","_default","exports"],"sources":["navigation/index.js"],"sourcesContent":["import React, {useState, useEffect, useRef} from 'react';\nimport classnames from 'classnames';\nimport useProps from '../_util/useProps';\nimport {Math as CesiumMath} from 'cesium';\n\nconst prefix = 'cs-map-navigation';\n\nconst useMouse = (props) => {\n const timeRef = useRef(null);\n\n useEffect(() => {\n return () => {\n onClear();\n }\n }, []);\n\n // 鼠标按下\n const onMouseDown = (type, event) => {\n onClear();\n timeRef.current = window.setInterval(() => {\n props.callback?.(type, event);\n });\n }\n\n // 鼠标抬起\n const onMouseUp = () => {\n onClear();\n }\n\n // 清除定时器\n const onClear = () => {\n if (timeRef.current) {\n window.clearInterval(timeRef.current);\n timeRef.current = null;\n }\n }\n\n return {\n onMouseDown,\n onMouseUp\n }\n}\n\n// 视角移动\nconst useViewMove = () => {\n const {map} = useProps();\n\n const {onMouseDown, onMouseUp} = useMouse({\n callback: (type) => {\n // 获取相机到椭球表面的距离\n const cameraHeight = map.scene.globe.ellipsoid.cartesianToCartographic(map.camera.position).height;\n\n // 根据相机到椭球表面的距离,计算移动速度\n const moveRate = cameraHeight / 200.0;\n\n map.camera[type](moveRate);\n }\n });\n\n\n return {\n onMouseDown,\n onMouseUp\n }\n}\n\n// 角度\nconst Angle = () => {\n const {map} = useProps();\n const barRef = useRef();\n\n // // 监听角度变化\n // useEffect(() => {\n // const move = ()=> {\n // // 将角度转换为弧度\n // const rotation = CesiumMath.toDegrees(map.camera.pitch).toFixed(2);\n // let radians = (rotation * Math.PI) / 180;\n //\n // // 获取元素中心点位置\n // const rect = domRef.current.getBoundingClientRect();\n // const centerX = rect.width / 2;\n // const centerY = rect.height / 2;\n //\n // let distance = rect.width - 6;\n //\n // // 计算目标点的x和y坐标\n // let left = centerX + distance * Math.cos(radians);\n // let top = centerY + (distance / 2) * Math.sin(radians);\n //\n // barRef.current.style.left = left + \"px\";\n // barRef.current.style.top = top + \"px\";\n //\n // }\n //\n // map.scene.postRender.addEventListener(move)\n // return () => {\n // map.scene.postRender.removeEventListener(move)\n // }\n // }, []);\n\n const domRef = useRef(null);\n\n const onMouseDown = (event) => {\n event.preventDefault();\n\n let startX = event.clientX;\n let startY = event.clientY;\n\n const handleRotate = (e) => {\n const curX = e.clientX;\n const curY = e.clientY;\n const rect = domRef.current.getBoundingClientRect();\n // 获取元素中心点位置\n const centerX = rect.left + rect.width / 2;\n const centerY = rect.top + rect.height / 2;\n\n // 旋转前的角度\n const rotateDegreeBefore =\n Math.atan2(startY - centerY, startX - centerX) / (Math.PI / 180);\n\n // 旋转后的角度\n const rotateDegreeAfter =\n Math.atan2(curY - centerY, curX - centerX) / (Math.PI / 180);\n\n // 获取旋转的角度值\n let nowRotate = (rotateDegreeAfter - rotateDegreeBefore);\n const radians = CesiumMath.toRadians(nowRotate);\n map.camera.lookUp(radians);\n startX = curX;\n startY = curY;\n };\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleRotate);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n\n document.addEventListener('mousemove', handleRotate);\n document.addEventListener('mouseup', handleMouseUp);\n }\n\n return (\n <div ref={domRef} className={classnames(`${prefix}-angle`)}>\n <div\n ref={barRef}\n // onMouseDown={onMouseDown}\n className={classnames(`${prefix}-angle-bar`)}\n style={{left: 58, top: 5}}\n />\n </div>\n )\n}\n\n// 缩放\nconst Zoom = () => {\n const {onMouseDown, onMouseUp} = useViewMove();\n\n return (\n <div className={classnames(`${prefix}-zoom`)}>\n <div\n className={classnames(`${prefix}-zoom-in`)}\n onMouseDown={() => onMouseDown('moveForward')}\n onMouseUp={() => onMouseUp('moveForward')}\n />\n\n <div className={classnames(`${prefix}-zoom-bar`)}/>\n\n <div\n className={classnames(`${prefix}-zoom-out`)}\n onMouseDown={() => onMouseDown('moveBackward')}\n onMouseUp={() => onMouseUp('moveBackward')}\n />\n </div>\n )\n}\n\n// 箭头\nconst Arrows = () => {\n const {onMouseDown, onMouseUp} = useViewMove();\n return (\n <>\n <div className={classnames(`${prefix}-arrows`)}/>\n\n <div\n className={classnames(`${prefix}-arrows-e-active`)}\n onMouseDown={() => onMouseDown('moveRight')}\n onMouseUp={() => onMouseUp('moveRight')}\n />\n\n <div\n className={classnames(`${prefix}-arrows-n-active`)}\n onMouseDown={() => onMouseDown('moveUp')}\n onMouseUp={() => onMouseUp('moveUp')}\n />\n\n <div\n className={classnames(`${prefix}-arrows-s-active`)}\n onMouseDown={() => onMouseDown('moveDown')}\n onMouseUp={() => onMouseUp('moveDown')}\n />\n\n <div\n className={classnames(`${prefix}-arrows-w-active`)}\n onMouseDown={() => onMouseDown('moveLeft')}\n onMouseUp={() => onMouseUp('moveLeft')}\n />\n </>\n )\n}\n\n// 指南针\nconst Compass = () => {\n const {map} = useProps();\n const [rotation, setRotation] = useState(0);\n\n // 监听角度变化\n useEffect(() => {\n const move = ()=> {\n setRotation(CesiumMath.toDegrees(map.camera.heading).toFixed(2));\n }\n\n map.scene.postRender.addEventListener(move)\n return () => {\n map.scene.postRender.removeEventListener(move)\n }\n }, []);\n\n const domRef = useRef(null);\n\n const onMouseDown = (event) => {\n event.preventDefault();\n\n let startX = event.clientX;\n let startY = event.clientY;\n\n const handleRotate = (e) => {\n const curX = e.clientX;\n const curY = e.clientY;\n const rect = domRef.current.getBoundingClientRect();\n // 获取元素中心点位置\n const centerX = rect.left + rect.width / 2;\n const centerY = rect.top + rect.height / 2;\n\n // 旋转前的角度\n const rotateDegreeBefore =\n Math.atan2(startY - centerY, startX - centerX) / (Math.PI / 180);\n\n // 旋转后的角度\n const rotateDegreeAfter =\n Math.atan2(curY - centerY, curX - centerX) / (Math.PI / 180);\n\n // 获取旋转的角度值\n let nowRotate = (rotateDegreeAfter - rotateDegreeBefore);\n const radians = CesiumMath.toRadians(nowRotate);\n map.camera.twistRight(radians);\n startX = curX;\n startY = curY;\n };\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleRotate);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n\n document.addEventListener('mousemove', handleRotate);\n document.addEventListener('mouseup', handleMouseUp);\n }\n\n return (\n <div className={classnames(`${prefix}-compass`)}>\n <div\n ref={domRef}\n className={classnames(`${prefix}-compass-ring`)}\n onMouseDown={onMouseDown}\n style={{transform: `rotate(${rotation}deg)`}}\n >\n <div\n className={classnames(`${prefix}-compass-ring-center`)}\n />\n </div>\n </div>\n )\n}\n\nconst Navigation = (props) => {\n const {className, style} = props;\n return (\n <div className={classnames(`${prefix}`, className)} style={style}>\n <Compass />\n <Arrows />\n <Zoom />\n </div>\n )\n}\n\nexport default Navigation;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./index.css");
4
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","names":["require"],"sources":["navigation/style/index.js"],"sourcesContent":["import './index.less';\n"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
@@ -0,0 +1,160 @@
1
+ .cs-map-navigation {
2
+ display: block;
3
+ position: absolute;
4
+ top: 0;
5
+ right: 0;
6
+ padding: 0;
7
+ -webkit-box-sizing: content-box;
8
+ box-sizing: content-box;
9
+ height: 300px;
10
+ width: 128px;
11
+ -webkit-user-select: none;
12
+ -moz-user-select: none;
13
+ -ms-user-select: none;
14
+ user-select: none;
15
+ }
16
+ .cs-map-navigation-compass {
17
+ pointer-events: auto;
18
+ position: absolute;
19
+ right: 10px;
20
+ top: 10px;
21
+ width: 128px;
22
+ height: 128px;
23
+ overflow: hidden;
24
+ z-index: 9;
25
+ }
26
+ .cs-map-navigation-compass-ring {
27
+ cursor: pointer;
28
+ position: absolute;
29
+ width: 128px;
30
+ height: 128px;
31
+ top: 0;
32
+ -webkit-transform: rotate(0rad);
33
+ -ms-transform: rotate(0rad);
34
+ transform: rotate(0rad);
35
+ background-image: url('../assets/ring.png');
36
+ }
37
+ .cs-map-navigation-compass-ring:active {
38
+ background-image: url('../assets/ring_active.png');
39
+ }
40
+ .cs-map-navigation-compass-ring-center {
41
+ width: 16px;
42
+ height: 16px;
43
+ position: absolute;
44
+ top: 18px;
45
+ left: 56px;
46
+ }
47
+ .cs-map-navigation-arrows {
48
+ position: absolute;
49
+ width: 128px;
50
+ height: 128px;
51
+ top: 10px;
52
+ right: 10px;
53
+ z-index: 8;
54
+ background-image: url('../assets/compass_active.png');
55
+ visibility: hidden;
56
+ }
57
+ .cs-map-navigation-arrows-e-active,
58
+ .cs-map-navigation-arrows-n-active,
59
+ .cs-map-navigation-arrows-s-active,
60
+ .cs-map-navigation-arrows-w-active {
61
+ cursor: pointer;
62
+ position: absolute;
63
+ width: 24px;
64
+ height: 24px;
65
+ z-index: 10;
66
+ }
67
+ .cs-map-navigation-arrows-e-active {
68
+ top: 62px;
69
+ left: 62px;
70
+ }
71
+ .cs-map-navigation-arrows-e-active:active {
72
+ background-image: url('../assets/arrows_e_active.png');
73
+ }
74
+ .cs-map-navigation-arrows-n-active {
75
+ top: 42px;
76
+ left: 42px;
77
+ }
78
+ .cs-map-navigation-arrows-n-active:active {
79
+ background-image: url('../assets/arrows_n_active.png');
80
+ }
81
+ .cs-map-navigation-arrows-s-active {
82
+ top: 82px;
83
+ left: 42px;
84
+ }
85
+ .cs-map-navigation-arrows-s-active:active {
86
+ background-image: url('../assets/arrows_s_active.png');
87
+ }
88
+ .cs-map-navigation-arrows-w-active {
89
+ top: 62px;
90
+ left: 24px;
91
+ }
92
+ .cs-map-navigation-arrows-w-active:active {
93
+ background-image: url('../assets/arrows_w_active.png');
94
+ }
95
+ .cs-map-navigation-zoom {
96
+ position: absolute;
97
+ width: 30px;
98
+ height: 150px;
99
+ background-image: url('../assets/zoom.png');
100
+ top: 130px;
101
+ right: 60px;
102
+ visibility: hidden;
103
+ }
104
+ .cs-map-navigation-zoom-in {
105
+ position: absolute;
106
+ z-index: 99;
107
+ top: -2px;
108
+ width: 32px;
109
+ height: 32px;
110
+ cursor: pointer;
111
+ }
112
+ .cs-map-navigation-zoom-in:active {
113
+ background-image: url('../assets/zoom_active_in.png');
114
+ }
115
+ .cs-map-navigation-zoom-out {
116
+ position: absolute;
117
+ z-index: 99;
118
+ width: 32px;
119
+ height: 32px;
120
+ bottom: -2px;
121
+ cursor: pointer;
122
+ }
123
+ .cs-map-navigation-zoom-out:active {
124
+ background-image: url('../assets/zoom_active_out.png');
125
+ }
126
+ .cs-map-navigation-zoom-bar {
127
+ position: absolute;
128
+ cursor: pointer;
129
+ width: 32px;
130
+ height: 32px;
131
+ top: 65px;
132
+ background-image: url('../assets/zoombar.png');
133
+ }
134
+ .cs-map-navigation-angle {
135
+ position: absolute;
136
+ width: 128px;
137
+ height: 128px;
138
+ background-image: url('../assets/tilt.png');
139
+ right: 6px;
140
+ top: 6px;
141
+ }
142
+ .cs-map-navigation-angle-bar {
143
+ cursor: pointer;
144
+ position: absolute;
145
+ width: 16px;
146
+ height: 16px;
147
+ background-image: url('../assets/tiltbar.png');
148
+ background-repeat: no-repeat;
149
+ z-index: 10;
150
+ left: 58px;
151
+ top: 5px;
152
+ }
153
+ .cs-map-navigation:hover .cs-map-navigation-arrows,
154
+ .cs-map-navigation:active .cs-map-navigation-arrows,
155
+ .cs-map-navigation:hover .cs-map-navigation-zoom,
156
+ .cs-map-navigation:active .cs-map-navigation-zoom,
157
+ .cs-map-navigation:hover .cs-map-navigation-angle,
158
+ .cs-map-navigation:active .cs-map-navigation-angle {
159
+ visibility: visible;
160
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./index.less");
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["require"],"sources":["navigation/style/index.js"],"sourcesContent":["import './index.less';\n"],"mappings":";;AAAAA,OAAA","ignoreList":[]}