|
@@ -19,14 +19,20 @@ const ModelTypes = {
|
|
|
}
|
|
|
|
|
|
let satellite = true
|
|
|
-let defaultMapProps = [{url: `//wprd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=${satellite?6:7}&x={x}&y={y}&z={z}&layer=6&token=YOUR_API_KEY`, //style=6是卫星,7是标准
|
|
|
- maximumLevel: satellite?18:19,
|
|
|
+let defaultMapProps = satellite ?
|
|
|
+[{url: `//wprd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=6&x={x}&y={y}&z={z}&layer=6&token=YOUR_API_KEY`, //style=6是卫星,7是标准
|
|
|
+ maximumLevel: 18 ,
|
|
|
name:'高德baseLayer'
|
|
|
},{
|
|
|
url: `//wprd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}&layer=6&token=YOUR_API_KEY`, //style=6是卫星,7是标准
|
|
|
maximumLevel: 18,
|
|
|
name:'高德textLayer'
|
|
|
-}]
|
|
|
+}] : [{url: `//wprd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}&layer=6&token=YOUR_API_KEY`, //style=6是卫星,7是标准
|
|
|
+ maximumLevel: 19,
|
|
|
+ name:'高德baseLayer'
|
|
|
+}]
|
|
|
+
|
|
|
+
|
|
|
let cesAspect , cesImageryProvider, mapProps = defaultMapProps
|
|
|
|
|
|
|
|
@@ -65,7 +71,74 @@ let curSelectPath
|
|
|
}
|
|
|
|
|
|
//江门本地版本
|
|
|
-
|
|
|
+
|
|
|
+let addedPath
|
|
|
+let addPath = ()=>{//加个他们拍的路径
|
|
|
+ if(addedPath)return
|
|
|
+ let path = viewer.scene.measurements.find(e=>e.title == '行走路径')
|
|
|
+
|
|
|
+ if(!path)return
|
|
|
+
|
|
|
+ let useLonlat = !Potree.browser.urlHasValue('moveModelByUser')
|
|
|
+ let spaceTime = Potree.browser.urlHasValue('spaceTime',true)
|
|
|
+ if(spaceTime == '') spaceTime = 40
|
|
|
+ let height = 3.2
|
|
|
+
|
|
|
+
|
|
|
+ Potree.loadFile(Potree.resourcePath+'/pathPoints.json', null, (data)=>{
|
|
|
+ console.log(data)
|
|
|
+ window.pathPoints = data
|
|
|
+ let points = []
|
|
|
+ data.forEach((e,i)=>{
|
|
|
+ let pos
|
|
|
+ if(useLonlat){
|
|
|
+ pos = viewer.transform.lonlatToLocal.forward([e.longitude, e.latitude, e.relativeHeight])
|
|
|
+ pos = new THREE.Vector3().fromArray(pos)
|
|
|
+ }else{
|
|
|
+ pos = new THREE.Vector3(e.X,-e.Y,-e.Z)
|
|
|
+ }
|
|
|
+ pos.z += height
|
|
|
+ points[points.length-1]?.equals(pos) || points.push(pos)
|
|
|
+ })
|
|
|
+
|
|
|
+ path.reDraw()
|
|
|
+
|
|
|
+
|
|
|
+ if(spaceTime>0){
|
|
|
+ let index = 0
|
|
|
+ let interval = setInterval(()=>{
|
|
|
+ if(index == points.length) {
|
|
|
+ return clearInterval(interval)
|
|
|
+ }
|
|
|
+ path.addMarker({index,point:points[index]})
|
|
|
+ path.setEditEnable(false)
|
|
|
+ path.update()
|
|
|
+
|
|
|
+ index++
|
|
|
+ },spaceTime)
|
|
|
+ }else{
|
|
|
+ points.forEach((point,index)=>{
|
|
|
+ path.addMarker({index,point})
|
|
|
+ })
|
|
|
+ path.dataset_points = path.points.slice()
|
|
|
+ path.setEditEnable(false)
|
|
|
+ path.update()
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+
|
|
|
+ addedPath = true
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOSSRoot, panoOSSRoot,ossRoot }) => {
|
|
|
|
|
|
console.warn('新的页面')
|
|
@@ -155,7 +228,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
|
|
|
Potree.settings.unableNavigate = true
|
|
|
Potree.setLonlat(lonlat[0], lonlat[1])
|
|
|
-
|
|
|
+
|
|
|
if(window.offline){//离线版 改目录
|
|
|
viewer.images360.tileDownloader.getTiles = function(d, sceneNum, useV4url, model){
|
|
|
let kankan = !model.isPointcloud //ModelTypes[model.props.fromType].panos4dkk
|
|
@@ -509,7 +582,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
|
|
|
|
|
|
|
|
|
- let sdk = {
|
|
|
+ let sdk = Potree.sdk = {
|
|
|
sceneBus, mapBus,
|
|
|
|
|
|
|
|
@@ -843,7 +916,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
changeMapTile(urls){
|
|
|
//'http:/a.xxx.com/{x}/{y}/{z}.png'
|
|
|
console.log('changeMapTile', urls )
|
|
|
-
|
|
|
+
|
|
|
mapProps = urls.map(e=>{
|
|
|
return {
|
|
|
maximumLevel : e.maximumLevel,
|
|
@@ -1874,7 +1947,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
|
|
|
let path
|
|
|
let info = {type : 'Path', minMarkers : 2, title:props.name, lineHeight : props.line.altitudeAboveGround }
|
|
|
-
|
|
|
+
|
|
|
if(props.points.length == 0){
|
|
|
path = viewer.measuringTool.startInsertion( info, () => {
|
|
|
bus.emit("drawed" ); //完成
|
|
@@ -2015,7 +2088,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
},
|
|
|
createAni(tension){
|
|
|
let distance = path.totalLength
|
|
|
- let pathPoints = path.points.map(e=>e.clone().add(new THREE.Vector3(0,0,2))) //在地面之上一定高度
|
|
|
+ let pathPoints = path.points.map(e=>e.clone().add(new THREE.Vector3(0,0,0.5))) //在地面之上一定高度
|
|
|
if(path.reverse) pathPoints.reverse()
|
|
|
|
|
|
|
|
@@ -2136,7 +2209,11 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
path.functions = functions
|
|
|
|
|
|
props.line && functions.changeLine(props.line)
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+ setTimeout(()=>{
|
|
|
+ addPath()
|
|
|
+ },100)
|
|
|
|
|
|
return functions
|
|
|
|