|
@@ -6,7 +6,8 @@ import libTransform from 'coordtransform';
|
|
|
|
|
|
|
|
|
|
|
|
-let aniPaths = [], pathDevices = [], pathHistorys = new Map, pathModels = [], modelList = {}, camFollowDevice, modelDisToCam, maxDevicePathId=0
|
|
|
+let aniPathStartTime, recordStarted, aniPaths = [], pathDevices = [], pathHistorys = new Map, pathModels = [], modelList = {},
|
|
|
+ camFollowDevice, modelDisToCam, maxDevicePathId=0
|
|
|
let createAnimatePath = (token)=>{//实时路径 保存:generateAniPathData
|
|
|
let caseId = Potree.browser.urlHasValue('caseId',true)
|
|
|
let count = 0
|
|
@@ -131,13 +132,14 @@ let createAnimatePath = (token)=>{//实时路径 保存:generateAniPathData
|
|
|
|
|
|
|
|
|
//写入历史
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
let sameIndex = data.locationList.findIndex(e=>e.time == history[history.length - 1]?.time)
|
|
|
if(sameIndex == -1) sameIndex = data.locationList.length - 1 //全部是新点
|
|
|
let newPoints = points.filter(e=>e.index<sameIndex).map(e=>e.point).reverse()
|
|
|
+ recordStarted || (history.length = 0) //没开始录制的话就只要最新的一条,用来在点击后立刻就有一条
|
|
|
history.push(...newPoints)
|
|
|
|
|
|
+
|
|
|
|
|
|
})
|
|
|
|
|
@@ -2681,22 +2683,34 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
modelDisToCam = 4 //拉进
|
|
|
},
|
|
|
|
|
|
- generateAniPathData( ){//输出实时路径的数据保存
|
|
|
+
|
|
|
+ startRecordPath(){//开始录制
|
|
|
+ console.log('startRecordPath')
|
|
|
+ recordStarted = true
|
|
|
+ },
|
|
|
+ generateAniPathData(){//输出实时路径的数据保存
|
|
|
let startId = maxDevicePathId + 1
|
|
|
let getTime = (str)=>{
|
|
|
return str.split('-').join('')
|
|
|
}
|
|
|
let dataAll = aniPaths.map((path,i)=>{
|
|
|
let points = pathHistorys.get(pathDevices[i].macId)
|
|
|
- let timeStart = points[0]?.time
|
|
|
+ let timeStart = points[0]?.time
|
|
|
let timeEnd = points[points.length - 1]?.time
|
|
|
let name = pathDevices[i].deviceName || ''
|
|
|
+ /*
|
|
|
+
|
|
|
if(timeStart && timeEnd){
|
|
|
if(timeStart == timeEnd)name += '('+getTime(timeStart)+')'
|
|
|
else name += '('+ getTime(timeStart) + ' - '+ getTime(timeEnd)+')'
|
|
|
}else{
|
|
|
if(timeStart)name += '('+getTime(timeStart)+')'
|
|
|
else if(timeEnd)name += '('+getTime(timeEnd)+')'
|
|
|
+ } */
|
|
|
+ if(timeStart){
|
|
|
+ name += ' ' + timeStart + '('+Potree.math.timeDifference(timeStart, timeEnd)+')'
|
|
|
+ }else{
|
|
|
+ name += '(无数据)'
|
|
|
}
|
|
|
points.forEach(e=>delete e.time)
|
|
|
|
|
@@ -2721,7 +2735,10 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
return data
|
|
|
|
|
|
})
|
|
|
+ pathHistorys.clear()
|
|
|
+ recordStarted = false
|
|
|
|
|
|
+ console.log('generateAniPathData',dataAll)
|
|
|
return dataAll
|
|
|
|
|
|
}
|