| | |
| | | <div class="cesiumContent"> |
| | | <div class="flyAction"> |
| | | <div class="actionName">{{currentAction ?currentAction.type :'' }}</div> |
| | | <i class="el-icon-delete" /> |
| | | <i class="el-icon-delete" @click="deleteAction(chooseItem)" /> |
| | | </div> |
| | | <div class="flayDataAll"> |
| | | <div class="flyData"> |
| | |
| | | let pois = [globalon, globalat,0] |
| | | let cameraVideo |
| | | let ScopeElement; //光轴、视频 |
| | | let preVideoScopePrimitiveArrTie = []; |
| | | // let preVideoScopePrimitiveArrTie = []; |
| | | let scratchSetViewMatrix3 = new Cesium.Matrix3(); |
| | | let chooseId |
| | | // let pois = [0, 0,0] |
| | |
| | | newTakeVideo: '', // 编辑时的新数据 |
| | | isEditingVideo: false, // 控制是否处于编辑状态 |
| | | actionCounter:0, |
| | | currentAction:null |
| | | currentAction:null, |
| | | preVideoScopePrimitiveArrTie:[] |
| | | } |
| | | }, |
| | | mounted(){ |
| | |
| | | } |
| | | }) |
| | | const result = Object.keys(grouped).map((key, idx) => { |
| | | console.log(group) |
| | | const group = grouped[key]; |
| | | const positionGround = group.groundPoiId.getValue(Cesium.JulianDate.now()) |
| | | const positionAerialPo = group.aerialPoiId.getValue(Cesium.JulianDate.now()) |
| | |
| | | pmObj.name = data.name; |
| | | pmObj.primitive = cameraVideo; |
| | | viewerM.scene.primitives.add(cameraVideo); |
| | | preVideoScopePrimitiveArrTie.push(pmObj); |
| | | preVideoScopePrimitiveArrTie.map((item)=>{ |
| | | this.preVideoScopePrimitiveArrTie.push(pmObj); |
| | | this.preVideoScopePrimitiveArrTie.map((item)=>{ |
| | | if(item.id != chooseId){ |
| | | item.primitive.show = false |
| | | } |
| | |
| | | document.getElementById('cammoveResultCon').innerHTML = camResult; |
| | | // 计算距离(单位:米) |
| | | const distanceBetween = Cesium.Cartesian3.distance(point1, point2) |
| | | preVideoScopePrimitiveArrTie.map((item)=>{ |
| | | this.preVideoScopePrimitiveArrTie.map((item)=>{ |
| | | if(item.id == chooseId){ |
| | | let obj = this.updateSZScope(Cesium.Math.toDegrees(position.longitude),Cesium.Math.toDegrees(position.latitude),position.height,heading,pitch,roll,this.zoomRatio,distanceBetween) |
| | | item.primitive.inverseViewMatrix = obj.M |
| | |
| | | DealVisualCone(data,node){ |
| | | this.rowData = data |
| | | console.log(data) |
| | | this.pointGround = { |
| | | console.log(this.preVideoScopePrimitiveArrTie) |
| | | this.pointFly = { |
| | | lon:data.children[0].longitude, |
| | | lat:data.children[0].latitude, |
| | | height:data.children[0].height |
| | | } |
| | | this.pointFly = { |
| | | this.pointGround = { |
| | | lon:data.longitude, |
| | | lat:data.latitude, |
| | | height:data.height |
| | | } |
| | | if(data.children && data.children?.length > 0) { |
| | | preVideoScopePrimitiveArrTie.map((item)=>{ |
| | | this.preVideoScopePrimitiveArrTie.map((item)=>{ |
| | | if(item.name != data.children[0].label){ |
| | | item.primitive.show = false |
| | | }else{ |
| | |
| | | } |
| | | }) |
| | | }else { |
| | | preVideoScopePrimitiveArrTie.map((item)=>{ |
| | | this.preVideoScopePrimitiveArrTie.map((item)=>{ |
| | | if(item.name != data.label){ |
| | | item.primitive.show = false |
| | | }else { |
| | |
| | | }else if(action.type == '结束录像'){ |
| | | } |
| | | }, |
| | | deleteAction(item){ |
| | | console.log(item.children[0].actions) |
| | | if(!this.currentAction) return; |
| | | console.log(this.currentAction) |
| | | const point = this.currentAction.point; |
| | | // 从 point.actions 中删除 |
| | | const index = item.children[0].actions.findIndex(a => a.id === this.currentAction.id); |
| | | if(index !== -1){ |
| | | item.children[0].actions.splice(index, 1); |
| | | } |
| | | |
| | | this.$message.success("已删除操作"); |
| | | this.currentAction = null; |
| | | }, |
| | | changeTime(val) { |
| | | this.time += val; |
| | | if (this.time < 0) this.time = 0; // 最小值限制 |
| | |
| | | this.takePhoto = this.newTakePhoto; // 点击对号时,更新数据 |
| | | this.isEditingPhoto = false; // 结束编辑 |
| | | this.currentAction.extra.value = this.newTakePhoto |
| | | window.addEventListener("keydown", this.onKeyDown); |
| | | window.addEventListener("keyup", this.onKeyUp); |
| | | }, |
| | | cancelEditing() { |
| | | this.newTakePhoto = this.takePhoto; // 点击取消时,恢复原数据 |
| | | this.isEditingPhoto = false; // 结束编辑 |
| | | window.addEventListener("keydown", this.onKeyDown); |
| | | window.addEventListener("keyup", this.onKeyUp); |
| | | }, |
| | | startEditingVideo() { |
| | | this.newTakeVideo = this.takeVideo; // 进入编辑时,保存当前的值 |
| | | this.isEditingVideo = true; |
| | | window.removeEventListener("keydown", this.onKeyDown); |
| | | window.removeEventListener("keyup", this.onKeyUp); |
| | | }, |
| | | validateVideoInput() { |
| | | this.takeVideo = this.newTakeVideo; // 点击对号时,更新数据 |
| | | this.isEditingVideo = false; // 结束编辑 |
| | | this.currentAction.extra.value = this.newTakeVideo |
| | | window.addEventListener("keydown", this.onKeyDown); |
| | | window.addEventListener("keyup", this.onKeyUp); |
| | | }, |
| | | cancelVideoEditing() { |
| | | this.newTakeVideo = this.takeVideo; // 点击取消时,恢复原数据 |
| | | this.isEditingVideo = false; // 结束编辑 |
| | | window.addEventListener("keydown", this.onKeyDown); |
| | | window.addEventListener("keyup", this.onKeyUp); |
| | | }, |
| | | doAction(point, type){ |
| | | console.log(point) |
| | | this.actionCounter++; |
| | | let action = { |
| | | id: this.actionCounter, |
| | |
| | | action.extra.value = 'stopVideo' |
| | | } |
| | | console.log(action) |
| | | point.actions.push(action); |
| | | point.children[0].actions.push(action); |
| | | console.log(point) |
| | | this.$emit('dealAction',point) |
| | | this.time = 10 |