@vtx/cs-map 1.0.80 → 1.0.82
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/cesium-tiles-layer/CesiumTilesLayer.js +5 -1
- package/lib/cesium-tiles-layer/CesiumTilesLayer.js.map +1 -1
- package/lib/feature-layer/FeatureLayer.js +5 -1
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -1
- package/lib/legend/index.js +44 -29
- package/lib/legend/index.js.map +1 -1
- package/lib/legend/style/index.css +16 -3
- package/lib/legend/style/index.less +13 -3
- package/lib/map/InfoTool/index.js +2 -1
- package/lib/map/InfoTool/index.js.map +1 -1
- package/lib/map/index.js +12 -5
- package/lib/map/index.js.map +1 -1
- package/lib/navigation/assets/arrows_e_active.png +0 -0
- package/lib/navigation/assets/arrows_n_active.png +0 -0
- package/lib/navigation/assets/arrows_s_active.png +0 -0
- package/lib/navigation/assets/arrows_w_active.png +0 -0
- package/lib/navigation/assets/compass_active.png +0 -0
- package/lib/navigation/assets/ring.png +0 -0
- package/lib/navigation/assets/ring_active.png +0 -0
- package/lib/navigation/assets/tilt.png +0 -0
- package/lib/navigation/assets/tiltbar.png +0 -0
- package/lib/navigation/assets/zoom.png +0 -0
- package/lib/navigation/assets/zoom_active_in.png +0 -0
- package/lib/navigation/assets/zoom_active_out.png +0 -0
- package/lib/navigation/assets/zoombar.png +0 -0
- package/lib/navigation/index.js +306 -0
- package/lib/navigation/index.js.map +1 -0
- package/lib/navigation/style/css.js +4 -0
- package/lib/navigation/style/css.js.map +1 -0
- package/lib/navigation/style/index.css +160 -0
- package/lib/navigation/style/index.js +4 -0
- package/lib/navigation/style/index.js.map +1 -0
- package/lib/navigation/style/index.less +176 -0
- package/lib/pipe-tiles-layer/PipeTilesLayer.js +27 -1
- package/lib/pipe-tiles-layer/PipeTilesLayer.js.map +1 -1
- 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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["require"],"sources":["navigation/style/index.js"],"sourcesContent":["import './index.less';\n"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
|