From 42892b485a2ddebb04c0b96c4b6c420001f699b2 Mon Sep 17 00:00:00 2001 From: jihongshun <1151753686@qq.com> Date: 星期三, 08 十月 2025 15:10:22 +0800 Subject: [PATCH] 项目修改 && 航线模拟的动作 --- src/views/system/flightRouteSimulation/index.vue | 468 ++++++++++++++++++++++++++++++++------------------------- 1 files changed, 262 insertions(+), 206 deletions(-) diff --git a/src/views/system/flightRouteSimulation/index.vue b/src/views/system/flightRouteSimulation/index.vue index a731264..08d2e64 100644 --- a/src/views/system/flightRouteSimulation/index.vue +++ b/src/views/system/flightRouteSimulation/index.vue @@ -25,6 +25,7 @@ import xml2js from 'xml2js' import CesiumMap from "../../../utils/components/cesium-map.vue"; import { getScopeTower} from "@/api/system/template" +import { watch } from 'vue'; export default { name: "flightRouteSimulation", components: { @@ -126,8 +127,23 @@ minZoom: 1,//鏈�灏忓彉鍊� maxZoom: 56,//鏈�澶у彉鍊� baseBoxSize: 576,//榛樿box瀹藉害 - // actionArr : new Cesium.SampledProperty(array),//浜戝彴鏈濆悜pitch + i:0,//鍔ㄤ綔鐩戝惉i } + }, + watch:{ + i(val,old){ + let trajectory =this.trajectoryData[val] + if(trajectory) { + if(trajectory.nowAction) { + this.$notify({ + title: trajectory.nowAction, + position: 'bottom-right', + duration:1500, + offset:50, + }) + } + } + } }, mounted() { }, @@ -153,20 +169,36 @@ dealArr.push(this.waypoints[i]); // Push the current element const current = this.waypoints[i]; const next = this.waypoints[i + 1]; + // dealArr.push({ + // "lng": current.lng, + // "lat": current.lat, + // "alt": current.alt, + // 'flyHeading':current.flyHeading, + // "heading": current.heading, + // "pitch": current.pitch, + // "roll": current.roll, + // "zoom":current.zoom || 1, + // 'wait' : 3, + // // 'wait' : current.waitTime, + // // 'nowAction':ele.value + // }); + //鍔ㄤ綔 + if(current.nowAction){ + dealArr.push({ + 'name':'鍔ㄤ綔鐨勫欢缁�', + "lng": current.lng, + "lat": current.lat, + "alt": current.alt, + 'flyHeading':current.flyHeading, + "heading": current.heading, + "pitch": current.pitch, + "roll": current.roll, + "zoom":current.zoom || 1, + }); + } + //鍒拌揪鐐瑰悗鏈濆悜闂 dealArr.push({ - "lng": current.lng, - "lat": current.lat, - "alt": current.alt, - 'flyHeading':current.flyHeading, - "heading": current.heading, - "pitch": current.pitch, - "roll": current.roll, - "zoom":current.zoom || 1, - 'wait' : 3, - // 'wait' : current.waitTime, - // 'nowAction':ele.value - }); - dealArr.push({ + 'name':'push鐨勬暟鎹�', "lng": next.lng, "lat": next.lat, "alt": next.alt, @@ -175,49 +207,9 @@ "pitch": current.pitch, "roll": current.roll, "zoom":current.zoom || 1, - 'wait':1 }); - } - // for (let i = 0; i < this.waypoints.length; i++) { - // dealArr.push(this.waypoints[i]); // Push the current element - // const current = this.waypoints[i]; - // const next = this.waypoints[i + 1]; - // //鎻掑�兼偓鍋� - // this.waypoints[i].nowResult?.forEach((ele)=>{ - // dealArr.push({ - // "lng": current.lng, - // "lat": current.lat, - // "alt": current.alt, - // 'flyHeading':current.flyHeading, - // "heading": current.heading, - // "pitch": current.pitch, - // "roll": current.roll, - // "zoom":current.zoom || 1, - // // 'wait' : current.waitTime, - // 'wait' : 1, - // 'nowAction':ele.value - // }); - // }) - // if(next){ - // console.log(next) - // //鎻掑�间笅涓�涓偣缁忕含搴� 褰撳墠pt - // dealArr.push({ - // "lng": next.lng, - // "lat": next.lat, - // "alt": next.alt, - // 'flyHeading':next.flyHeading, - // "heading": current.heading, - // "pitch": current.pitch, - // "roll": current.roll, - // "zoom":current.zoom || 1, - // // 'wait':1 - // 'wait':0 - // }); - // } - // } - // Push the last element without any change - // dealArr.push(this.waypoints[this.waypoints.length - 1]); + dealArr.push(this.waypoints[this.waypoints.length - 1]); this.waypoints = dealArr console.log(dealArr) this.fileInfo = ` @@ -238,22 +230,17 @@ var date = new Date(isoString); } - // const startDate = new Date("2025-04-01T13:00:00Z"); const startDate = new Date(date.toISOString()); console.log(dealArr) let nowTime const result = dealArr.map((item, index) => { - // const result = this.waypoints.map((item, index) => { // 姣忔鍔犱竴澶� - // const time = new Date(startDate.getTime() + index * 60 *1000 + (item.wait ? item.wait :1 ) * 60 * 1000).toISOString(); if(index == 0) { nowTime = startDate.getTime() + 1 *1000 }else{ - // nowTime = nowTime + (item.wait ? item.wait :1 ) *1000 nowTime = nowTime + (item.wait ? item.wait :1 ) *1000 } const time = new Date(nowTime).toISOString() - // const time = Cesium.JulianDate.addSeconds(startDate, 3600, new Cesium.JulianDate()); return { time, position: { @@ -268,7 +255,8 @@ zoom:item.zoom, flyHeading:item.flyHeading, nowResult:item.nowResult || [], - nowAction:item.nowAction + nowAction:item.nowAction, + name:item.name }; }); this.trajectoryData = result @@ -356,6 +344,134 @@ return angle }, // 瑙f瀽KMZ鏂囦欢 + // async parseKMZ(kmzData) { + + // // 鈿狅笍 杩欓噷鐩存帴浣跨敤鍏ㄥ眬 JSZip 鍜� xml2js锛堥�氳繃CDN寮曞叆锛� + // const zip = await JSZip.loadAsync(kmzData); + // const kmlFile = Object.keys(zip.files).find(name => + // name.endsWith(".kml") + // ); + // // console.log(">> kmlFile:", kmlFile); + // if (!kmlFile) throw new Error("鏈壘鍒癒ML鏂囦欢"); + + // const kmlContent = await zip.file(kmlFile).async("text"); + + // // xml2js 浠� CDN 寮曞叆鍚庢槸 window.xml2js + // const parser = new xml2js.Parser(); + // const result = await parser.parseStringPromise(kmlContent); + // // console.log(">> result:", result); + + // const placemarks = + // result.kml.Document[0].Folder[0].Placemark || []; + // const points = []; + // var lastZoom =1 + // let lastHeading = 0 + // for(let i=0;i<placemarks.length;i++){ + // const coords = placemarks[i].Point?.[0]?.coordinates?.[0]; + // const height = placemarks[i]["wpml:height"]?.[0]; + // if(i<placemarks.length-1){ + // // console.log(placemarks[i]) + // // console.log( placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[0]) + // // console.log( placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[1]) + // // console.log( placemarks[i+1].Point?.[0]?.coordinates?.[0].split(',')[0]) + // // console.log( placemarks[i+1].Point?.[0]?.coordinates?.[0].split(',')[1]) + // let lon1 = placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[0] + // let lat1 = placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[1] + // let lon2 = placemarks[i+1].Point?.[0]?.coordinates?.[0].split(',')[0] + // let lat2 = placemarks[i+1].Point?.[0]?.coordinates?.[0].split(',')[1] + // // console.log(this.azimuthtwopoi(lon1,lat1,lon2,lat2)) + // // lastHeading = this.azimuthtwopoi(lon1,lat1,lon2,lat2) + // var nowHeading = this.azimuthtwopoi(lon1,lat1,lon2,lat2) + // if(!nowHeading){ + // nowHeading = lastHeading + // }else { + // let p1 = {"lng": lon1, "lat": lat1, "alt": height}; + + // let p2 = {"lng": lon2, "lat": lat2, "alt": height}; + + // let c1 = Cesium.Cartesian3.fromDegrees(p1.lng,p1.lat,p1.height); + // let c2 = Cesium.Cartesian3.fromDegrees(p2.lng,p2.lat,p2.height); + // lastHeading = this.Bearing(c1, c2); + // // lastHeading = this.azimuthtwopoi(lon1,lat1,lon2,lat2) + // } + + // // console.log(lastHeading) + // // console.log('+++++++++++++++++++++++++') + // } + // // 鎻愬彇 aircraftHeading + // // 鎻愬彇 action 閲岀殑鍙傛暟 + // // 鍒濆鍖� Pitch, Roll 鍜� Heading + // let totalPitch = 0; + // let totalRoll = 0; + // let totalHeading = 0; + // let flyHeadingData = 0; + // let waitTime = 0; + // let nowResult = [] + // if (placemarks[i]["wpml:actionGroup"]?.[0]?.["wpml:action"]) { + // placemarks[i]["wpml:actionGroup"][0]["wpml:action"].forEach(action => { + // // 澶勭悊 gimbalRotate 鍜� rotateYaw 鍑芥暟 + // if (action['wpml:actionActuatorFunc'].includes("gimbalRotate")) { + // // 鑾峰彇姣忎釜瑙掑害鍊� + // const gimbalPitch = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:gimbalPitchRotateAngle"][0]); + // const gimbalRoll = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:gimbalRollRotateAngle"][0]); + // const gimbalYaw = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:gimbalYawRotateAngle"][0]); + // if(gimbalYaw < 0 ){ + // gimbalYaw += 360 + // } + // // 绱姞 Pitch, Roll 鍜� Heading + // totalPitch += gimbalPitch; + // totalRoll += gimbalRoll; + // // totalHeading += gimbalYaw; + + // } + // // 澶勭悊 rotateYaw 鍑芥暟 + // if (action['wpml:actionActuatorFunc'].includes("rotateYaw")) { + // // 鑾峰彇 aircraftHeading + // var aircraftHeading = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:aircraftHeading"][0]); + + // if(aircraftHeading <0) { + // aircraftHeading+=360 + // } + // flyHeadingData = aircraftHeading + // // 灏� aircraftHeading 绱姞鍒� totalHeading + // totalHeading += aircraftHeading; + // } + + // // 澶勭悊 rotateYaw 鍑芥暟 + // if (action['wpml:actionActuatorFunc'].includes("zoom")) { + // const aircraftZoom = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:focalLength"][0]); + // lastZoom = aircraftZoom + // } + + // if (action['wpml:actionActuatorFunc'].includes("hover")) { + // // 鑾峰彇 aircraftHeading + // var aircraftHeading = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:hoverTime"][0]); + // // 灏� aircraftHeading 绱姞鍒� totalHeading + // waitTime += aircraftHeading; + // } + // nowResult.push( + // { + // type:action['wpml:actionActuatorFunc'][0], + // value:this.dealDataValue(action) + // } + // ) + // }); + // } + // const filteredArray = nowResult.filter(item => item.type !== "rotateYaw" && item.type !== "gimbalRotate"); + + // console.log(filteredArray) + // if (coords) { + // coords.trim().split(" ").forEach(coord => { + // const [lng, lat] = coord.split(",").map(Number); + // // points.push({ lng, lat, alt: height,heading:totalHeading ?totalHeading:lastHeading ,pitch:totalPitch || 0,roll:totalRoll|| 0 ,flyHeading:flyHeadingData,zoom :lastZoom}); + // points.push({ lng, lat, alt: height,heading:totalHeading ?totalHeading:lastHeading ,pitch:totalPitch || 0,roll:totalRoll|| 0 ,flyHeading:flyHeadingData,zoom :lastZoom,waitTime:waitTime,nowResult:filteredArray}); + // }); + // } + // } + // console.log(points) + // if (points.length === 0) throw new Error("鏈壘鍒版湁鏁堣埅鐐�"); + // return points; + // }, async parseKMZ(kmzData) { // 鈿狅笍 杩欓噷鐩存帴浣跨敤鍏ㄥ眬 JSZip 鍜� xml2js锛堥�氳繃CDN寮曞叆锛� @@ -371,22 +487,18 @@ // xml2js 浠� CDN 寮曞叆鍚庢槸 window.xml2js const parser = new xml2js.Parser(); const result = await parser.parseStringPromise(kmlContent); - // console.log(">> result:", result); + console.log(">> result:", result); const placemarks = result.kml.Document[0].Folder[0].Placemark || []; const points = []; - var lastZoom =1 + const dealPoints = []; let lastHeading = 0 + var changeZoom = 1 for(let i=0;i<placemarks.length;i++){ const coords = placemarks[i].Point?.[0]?.coordinates?.[0]; const height = placemarks[i]["wpml:height"]?.[0]; if(i<placemarks.length-1){ - // console.log(placemarks[i]) - // console.log( placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[0]) - // console.log( placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[1]) - // console.log( placemarks[i+1].Point?.[0]?.coordinates?.[0].split(',')[0]) - // console.log( placemarks[i+1].Point?.[0]?.coordinates?.[0].split(',')[1]) let lon1 = placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[0] let lat1 = placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[1] let lon2 = placemarks[i+1].Point?.[0]?.coordinates?.[0].split(',')[0] @@ -394,95 +506,84 @@ // console.log(this.azimuthtwopoi(lon1,lat1,lon2,lat2)) // lastHeading = this.azimuthtwopoi(lon1,lat1,lon2,lat2) var nowHeading = this.azimuthtwopoi(lon1,lat1,lon2,lat2) + console.log(nowHeading) if(!nowHeading){ nowHeading = lastHeading }else { - let p1 = {"lng": lon1, "lat": lat1, "alt": height}; - - let p2 = {"lng": lon2, "lat": lat2, "alt": height}; - + let p1 = {"lng": lon1, "lat": lat1, "alt": height}; + let p2 = {"lng": lon2, "lat": lat2, "alt": height}; let c1 = Cesium.Cartesian3.fromDegrees(p1.lng,p1.lat,p1.height); let c2 = Cesium.Cartesian3.fromDegrees(p2.lng,p2.lat,p2.height); lastHeading = this.Bearing(c1, c2); // lastHeading = this.azimuthtwopoi(lon1,lat1,lon2,lat2) } - // console.log(lastHeading) + console.log(lastHeading) // console.log('+++++++++++++++++++++++++') } // 鎻愬彇 aircraftHeading // 鎻愬彇 action 閲岀殑鍙傛暟 // 鍒濆鍖� Pitch, Roll 鍜� Heading - let totalPitch = 0; - let totalRoll = 0; - let totalHeading = 0; - let flyHeadingData = 0; - let waitTime = 0; - let nowResult = [] + let changeHeading = 0; + let changePitch = 0; + let changeRoll = 0; + let changeFlyHeadingData = 0; + if (placemarks[i]["wpml:actionGroup"]?.[0]?.["wpml:action"]) { - placemarks[i]["wpml:actionGroup"][0]["wpml:action"].forEach(action => { - // 澶勭悊 gimbalRotate 鍜� rotateYaw 鍑芥暟 - if (action['wpml:actionActuatorFunc'].includes("gimbalRotate")) { - // 鑾峰彇姣忎釜瑙掑害鍊� - const gimbalPitch = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:gimbalPitchRotateAngle"][0]); - const gimbalRoll = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:gimbalRollRotateAngle"][0]); - const gimbalYaw = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:gimbalYawRotateAngle"][0]); - if(gimbalYaw < 0 ){ - gimbalYaw += 360 - } - // 绱姞 Pitch, Roll 鍜� Heading - totalPitch += gimbalPitch; - totalRoll += gimbalRoll; - // totalHeading += gimbalYaw; - - } - // 澶勭悊 rotateYaw 鍑芥暟 - if (action['wpml:actionActuatorFunc'].includes("rotateYaw")) { - // 鑾峰彇 aircraftHeading - var aircraftHeading = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:aircraftHeading"][0]); - - if(aircraftHeading <0) { - aircraftHeading+=360 - } - flyHeadingData = aircraftHeading - // 灏� aircraftHeading 绱姞鍒� totalHeading - totalHeading += aircraftHeading; - } + for(let j=0;j<placemarks[i]["wpml:actionGroup"][0]["wpml:action"].length;j++){ + // console.log(placemarks[i]["wpml:actionGroup"][0]["wpml:action"][j]) + let groupObj = placemarks[i]["wpml:actionGroup"][0]["wpml:action"][j] + // console.log(groupObj) + //鏃犱汉鏈� + if(groupObj['wpml:actionActuatorFunc'].includes("rotateYaw")) { + changeHeading = parseFloat(groupObj['wpml:actionActuatorFuncParam'][0]["wpml:aircraftHeading"][0]) + changeFlyHeadingData = parseFloat(groupObj['wpml:actionActuatorFuncParam'][0]["wpml:aircraftHeading"][0]) + } + //浜戝彴 + if(groupObj['wpml:actionActuatorFunc'].includes("gimbalRotate")) { + console.log(groupObj) + changePitch = parseFloat(groupObj['wpml:actionActuatorFuncParam'][0]["wpml:gimbalPitchRotateAngle"][0]) + changeRoll = parseFloat(groupObj['wpml:actionActuatorFuncParam'][0]["wpml:gimbalRollRotateAngle"][0]) + } + if(groupObj['wpml:actionActuatorFunc'].includes("zoom")) { + console.log(groupObj) + changeZoom = parseFloat(groupObj['wpml:actionActuatorFuncParam'][0]["wpml:focalLength"][0]) + } + // //鎷嶇収 + if(groupObj['wpml:actionActuatorFunc'].includes("takePhoto")) { - // 澶勭悊 rotateYaw 鍑芥暟 - if (action['wpml:actionActuatorFunc'].includes("zoom")) { - const aircraftZoom = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:focalLength"][0]); - lastZoom = aircraftZoom - } - - if (action['wpml:actionActuatorFunc'].includes("hover")) { - // 鑾峰彇 aircraftHeading - var aircraftHeading = parseFloat(action['wpml:actionActuatorFuncParam'][0]["wpml:hoverTime"][0]); - // 灏� aircraftHeading 绱姞鍒� totalHeading - waitTime += aircraftHeading; - } - nowResult.push( - { - type:action['wpml:actionActuatorFunc'][0], - value:this.dealDataValue(action) - } - ) - }); - } - const filteredArray = nowResult.filter(item => item.type !== "rotateYaw" && item.type !== "gimbalRotate"); - - console.log(filteredArray) - if (coords) { - coords.trim().split(" ").forEach(coord => { - const [lng, lat] = coord.split(",").map(Number); - // points.push({ lng, lat, alt: height,heading:totalHeading ?totalHeading:lastHeading ,pitch:totalPitch || 0,roll:totalRoll|| 0 ,flyHeading:flyHeadingData,zoom :lastZoom}); - points.push({ lng, lat, alt: height,heading:totalHeading ?totalHeading:lastHeading ,pitch:totalPitch || 0,roll:totalRoll|| 0 ,flyHeading:flyHeadingData,zoom :lastZoom,waitTime:waitTime,nowResult:filteredArray}); - }); + console.log(groupObj) + } + dealPoints.push({ + lng:placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[0], + lat:placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[1], + alt: placemarks[i]["wpml:height"]?.[0], + heading:changeHeading < 0 ? changeHeading + 360 :changeHeading , + pitch:changePitch, + roll:changeRoll, + flyHeading:changeFlyHeadingData, + zoom:changeZoom, + nowAction:this.dealDataValue(groupObj), + }) + console.log(dealPoints) + } + }else { + dealPoints.push({ + lng:placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[0], + lat:placemarks[i].Point?.[0]?.coordinates?.[0].split(',')[1], + alt: placemarks[i]["wpml:height"]?.[0], + // heading:changeHeading, + heading:changeHeading ?changeHeading:lastHeading, + pitch:changePitch, + roll:changeRoll, + flyHeading:changeFlyHeadingData, + zoom:changeZoom, + }) } } - console.log(points) - if (points.length === 0) throw new Error("鏈壘鍒版湁鏁堣埅鐐�"); - return points; + console.log(dealPoints) + if (dealPoints.length === 0) throw new Error("鏈壘鍒版湁鏁堣埅鐐�"); + return dealPoints; }, dealDataValue(action){ switch (action['wpml:actionActuatorFunc'][0]) { @@ -502,7 +603,6 @@ return '缁撴潫褰曞儚' break; default: - console.log('Access Denied!'); } }, // 璁$畻鎬昏窛绂� @@ -663,6 +763,7 @@ // 鍒涘缓浣嶇疆鍜岄�熷害灞炴�� const speedProperty = new Cesium.SampledProperty(Number) // 娣诲姞閲囨牱鐐� + console.log(this.trajectoryData) this.trajectoryData.forEach(data => { const time = Cesium.JulianDate.fromIso8601(data.time) const position = Cesium.Cartesian3.fromDegrees( @@ -683,9 +784,9 @@ // // 娣诲姞椋炴満鏈濆悜閲囨牱 this.orientation.addSample(time, quaternion); this.holderHeadingProperty.addSample(time, data.heading) + this.holderPitchProperty.addSample(time, data.pitch) this.holderRollProperty.addSample(time, data.roll) - //鍙樺�� this.holderZoomProperty.addSample(time,data.zoom) }) @@ -762,77 +863,28 @@ } }); }, - julianToDate(julianDate, secondsOfDay) { - // 1鍎掔暐鏃� = 86400绉掞紝璁$畻鏃堕棿鎴筹紙浠庡叕鍏冨墠4713骞�1鏈�1鏃ヨ捣鐨勭鏁帮級 - const baseJulianDate = 2440587.5; // UTC 1970-01-01 00:00:00 瀵瑰簲鐨勫剴鐣ユ棩 - const daysSinceEpoch = julianDate - baseJulianDate; - - // 璁$畻鑷�1970骞�1鏈�1鏃ヤ互鏉ョ殑绉掓暟 - const epochSeconds = daysSinceEpoch * 86400 + secondsOfDay; - - // 鍒涘缓瀵瑰簲鐨� JavaScript Date 瀵硅薄锛堟绉掔骇鏃堕棿鎴筹級 - const date = new Date(epochSeconds * 1000); // 灏嗙杞崲涓烘绉� - return date; - }, getCurrentPosition() { let viewer = window['cesiumContainer'].viewer; // 鑾峰彇褰撳墠鏃堕棿 const currentTime = viewer.clock.currentTime; - // console.log(currentTime) - // 3. 灏� Julian Date 杞崲涓哄搴旂殑鏃ユ湡瀵硅薄 - // const julianDateObj = this.julianToDate(currentTime.dayNumber, currentTime.secondsOfDay); - - // console.log("Julian Date 杞崲鍚庣殑鏃堕棿锛�", julianDateObj.toISOString()); // 杞崲涓� ISO 8601 鏍煎紡 + // console.log('currentTime' + currentTime) const currentTimeISO = Cesium.JulianDate.toIso8601(currentTime,3) - this.trajectoryData.forEach((ele)=>{ - console.log(currentTimeISO) - console.log(ele.time) - console.log(currentTimeISO.split('.')[0] ) - console.log(ele.time.split('.')[0]) - const eventTimeISO = ele.time; - // console.log(new Date(currentTimeISO) -new Date(eventTimeISO)) - console.log(Math.abs(new Date(eventTimeISO).getTime() - new Date(currentTimeISO).getTime())) - // if ((new Date(currentTimeISO) -new Date(eventTimeISO)) < 20) { - // if (currentTimeISO.split('.')[0] == ele.time.split('.')[0]) { - // console.log(ele) - // // this.matchedEvents.push(event); - // // console.log(ele) - // if(ele.nowAction) { - // this.$message({ - // message: ele.nowAction, - // type: 'success' - // }); - // } - // } - if(Math.abs(new Date(eventTimeISO).getTime() - new Date(currentTimeISO).getTime()) < 15) { - if(ele.nowAction) { - this.$message({ - message: ele.nowAction, - type: 'success' - }); - } - } - }) - - // this.trajectoryData.forEach((ele)=>{ - // console.log(Cesium.JulianDate.fromIso8601(ele.time)) - - // // console.log( Cesium.JulianDate.fromIso8601(ele.time)) - // // if (Math.abs(julianDateObj - new Date(ele.time)) < 20) { // 鍏佽 1 绉掑唴鐨勮宸� - // // console.log("Julian Date 鍜� ISO 8601 鏃堕棿鏍煎紡闈炲父鎺ヨ繎"); - // // if(ele.nowAction) { - // // this.$message({ - // // message: ele.nowAction, - // // type: 'success' - // // }); - // // } - // // } else { - // // console.log("Julian Date 鍜� ISO 8601 鏃堕棿鏍煎紡涓嶅悓"); - // // } - // }) - // console.log(currentTime) - // console.log(this.trajectoryData) + let i=this.trajectoryData?.length-1 + // console.log('鏃堕棿杞翠簨浠�:' + new Date(currentTimeISO).getTime()) + // console.log('鏁扮粍涓椂闂�:' +Math.abs(new Date(this.trajectoryData[this.i].time).getTime())) + // console.log('鍒嗗壊绾库�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺��') + let trajectory=null; + while(i>=0){ + trajectory = this.trajectoryData[i]; + if(new Date(currentTimeISO).getTime() < Math.abs(new Date(trajectory.time).getTime())){ + console.log(i) + i--; + }else{ + break; + } + } + this.i = i; const currentPosition = this.positionProperty.getValue(currentTime); // 濡傛灉鑾峰彇鍒颁綅缃� if (currentPosition) { @@ -922,6 +974,9 @@ bottom: 55px; border: 1px solid white; } +.el-notification { + width: 140px !important; /* 璋冩暣涓烘墍闇�瀹藉害 */ +} </style> <style scoped> .zoom-ui-container { @@ -958,5 +1013,6 @@ bottom: 35px; left: 340px; } +/* 淇敼閫氱煡妗嗗搴� */ </style> -- Gitblit v1.9.3