const configTool = { time: 5, setMapFly(res) { var that = this; const alt = res.alt == 0 ? 100 : res.alt; //设置初始视图位置 Viewer.camera.flyTo({ // fromDegrees()方法,将经纬度和高程转换为世界坐标 destination: Cesium.Cartesian3.fromDegrees(res.lon, res.lat, alt), orientation: { // 方向 heading: res.heading, // 视角 pitch: res.pitch, // 倾斜角度 roll: res.roll, // 设置飞行持续时间,默认会根据距离来计算 duration: that.time } }); }, getNewDateTime() { return new Date().getTime(); }, getEndDateTime() { return this.getNewDateTime() + 3600 * 2; }, //点击获取经纬度 getViewerPosition(res) { const cartesain = Viewer.camera.pickEllipsoid(res.position); var cartographic = Cesium.Cartographic.fromCartesian(cartesain); return { lon: parseFloat(Cesium.Math.toDegrees(cartographic.longitude)).toFixed(6), lat: parseFloat(Cesium.Math.toDegrees(cartographic.latitude)).toFixed(6), alt: cartographic.height, heading: Viewer.scene.camera.heading, pitch: Viewer.scene.camera.pitch, roll: Viewer.scene.camera.roll }; }, //获取当前视角信息 getViewerCamera() { var position = Viewer.scene.camera.positionCartographic; return { lon: Cesium.Math.toDegrees(position.longitude).toFixed(6), lat: Cesium.Math.toDegrees(position.latitude).toFixed(6), alt: position.height.toFixed(6), heading: Cesium.Math.toDegrees(Viewer.scene.camera.heading), pitch: Cesium.Math.toDegrees(Viewer.scene.camera.pitch), roll: Cesium.Math.toDegrees(Viewer.scene.camera.roll) }; }, getTreeDataCheck(res, std) { for (var i in res) { if (res[i].children) { this.getTreeDataCheck(res[i].children, std); } else { if (res[i].checked) { std.push(res[i].id); } } } return std; }, generateID() { return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace( /[xy]/g, function (c) { var r = (Math.random() * 16) | 0, v = c === "x" ? r : (r & 0x3) | 0x8; return v.toString(16); } ); }, saveToJson(data, res) { let content = JSON.stringify(data); let blob = new Blob([content], { type: "" }); var reader = new FileReader(); reader.onloadend = () => { let url = reader.result; let triggerDownload = document.createElement("a"); triggerDownload.download = (res) + ".json"; triggerDownload.href = url; triggerDownload.click(); }; reader.readAsDataURL(blob); } }; export default configTool;