From 49f8e3361f43becf44e0c7509e622054633f171e Mon Sep 17 00:00:00 2001 From: jihongshun <1151753686@qq.com> Date: 星期三, 24 九月 2025 14:10:51 +0800 Subject: [PATCH] 时间轴悬停 --- src/views/system/flightRouteSimulation/index.vue | 43 +++++++++++++++++++++++++++++++++---------- 1 files changed, 33 insertions(+), 10 deletions(-) diff --git a/src/views/system/flightRouteSimulation/index.vue b/src/views/system/flightRouteSimulation/index.vue index dfc3fb9..4040c57 100644 --- a/src/views/system/flightRouteSimulation/index.vue +++ b/src/views/system/flightRouteSimulation/index.vue @@ -147,11 +147,22 @@ this.waypoints = await this.parseKMZ(arrayBuffer); //鍔犵偣閫昏緫 姣斿鍚戠2-n-1涓彃鍏ュ厓绱� 缁忕含搴︿负褰撳墠鐨� heading pitch roll 涓嬩竴涓殑 const dealArr = []; - // console.log(">> this.waypoints:", this.waypoints); + console.log(">> this.waypoints:", this.waypoints); for (let i = 0; i < this.waypoints.length - 1; i++) { 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' : 5 + }); dealArr.push({ "lng": next.lng, "lat": next.lat, @@ -160,13 +171,16 @@ "heading": current.heading, "pitch": current.pitch, "roll": current.roll, - "zoom":next.zoom || 1 + "zoom":current.zoom || 1, + 'wait':1 }); + } // Push the last element without any change dealArr.push(this.waypoints[this.waypoints.length - 1]); this.waypoints = dealArr + console.log(dealArr) this.fileInfo = ` 鑸偣:${this.waypoints.length}涓� <br/> 璺濈:${this.calculateTotalDistance(this.waypoints).toFixed(2)}鍏噷 @@ -187,10 +201,19 @@ } // 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) => { + console.log(index) // const result = this.waypoints.map((item, index) => { // 姣忔鍔犱竴澶� - const time = new Date(startDate.getTime() + index * 60 * 1000).toISOString(); + // 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 + } + const time = new Date(nowTime).toISOString() // const time = Cesium.JulianDate.addSeconds(startDate, 3600, new Cesium.JulianDate()); return { time, @@ -208,7 +231,7 @@ }; }); this.trajectoryData = result - // console.log(this.trajectoryData) + console.log(this.trajectoryData) this.loadTimeLine() } catch (error) { console.error(error); @@ -319,10 +342,10 @@ 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]) + // 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] @@ -343,8 +366,8 @@ // lastHeading = this.azimuthtwopoi(lon1,lat1,lon2,lat2) } - console.log(lastHeading) - console.log('+++++++++++++++++++++++++') + // console.log(lastHeading) + // console.log('+++++++++++++++++++++++++') } // 鎻愬彇 aircraftHeading // 鎻愬彇 action 閲岀殑鍙傛暟 -- Gitblit v1.9.3