浏览代码

Merge branch 'v1.9.0-jm-local' of http://192.168.0.115:3000/bill/fuse-code into v1.9.0-jm-local

bill 2 月之前
父节点
当前提交
59880da442
共有 3 个文件被更改,包括 132 次插入56 次删除
  1. 60 7
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map
  3. 71 48
      src/sdk/cover/index.js

文件差异内容过多而无法显示
+ 60 - 7
public/lib/potree/potree.js


文件差异内容过多而无法显示
+ 1 - 1
public/lib/potree/potree.js.map


+ 71 - 48
src/sdk/cover/index.js

@@ -16,7 +16,49 @@ const ModelTypes = {
     6 : {name:'深光mesh',panos4dkk:true, rot90:true},//3dtiles
     7 : {name:'圆周率相机' },//圆周率相机场景
 }
-let cesAspect , cesImageryProvider
+ 
+let getMapProp = function(type1, type2){
+    let props
+    if(type2 == 'amap'){
+        props = type1 == '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'  
+            },
+        ]
+    }else{
+        props = {
+            url:  'https://mt0.google.com/vt/lyrs='+ (type1 == 'satellite'?"y":"m" ) +'&x={x}&y={y}&z={z}',
+            maximumLevel: 22
+        }  
+    }
+    return props
+}
+
+ 
+let defaultMapProps = getMapProp('satellite','amap')
+
+
+
+
+
+[{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, 
+    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'  
+}] 
+let cesAspect , cesImageryProvider,  mapProps = defaultMapProps 
 
 
 const Id_noIntersect = -100 //path绘制在地图上的点,modelId传这个值,勿更改
@@ -775,31 +817,15 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
 
             
         },
-        /* switchMapType(type) {
-            let map = viewer.mapViewer.mapLayer.maps.find(e => e.name == 'map')
-            map.switchStyle(type )
-        }, */
-        switchMapType(type){//切换成江门的卫星或标准  
+       
+        switchMapType(type1,type2){   
             if(window.location.href.includes('localhost:7173')/*  || Potree.browser.urlHasValue('testMap') */ ) return
-            console.log('switchMapType',type)
-            let maximumLevel, url
-            if(type == 'satellite'){
-                maximumLevel = 18
-                url = "//a.map.jms.gd/tile/weixing/{z}/{x}/{y}.png"
-            }else{
-                maximumLevel = 19
-                url = "//a.map.jms.gd/tile/gd_xiangtu/{z}/{x}/{y}.png"
-            }
-            cesImageryProvider = new Cesium.UrlTemplateImageryProvider({ //直接用84坐标,不用转高德
-                url,  
-                crossOrigin: 'anonymous',  
-                minimumLevel: 0,
-                maximumLevel,
-                tilingScheme: new AmapMercatorTilingScheme(),  //修改投影,从84->高德
-            }) 
+            console.log('switchMapType',type1,type2)
+           
+            mapProps = getMapProp(type1,type2)
+             
             if(Potree.settings.showCesium){
-                cesiumViewer.imageryLayers.removeAll();
-                cesiumViewer.imageryLayers.addImageryProvider(cesImageryProvider);
+                 buildMapFromProp()
             }
         },
         
@@ -1850,8 +1876,9 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
                 getImageCenter(){  //热点在模型的本地坐标 
                     if(!tag.parent)return new THREE.Vector3
                     tag.titleLabel.sprite.update()
+                    tag.updateMatrixWorld()  //有的不加不对
                     let pos = tag.onMesh ? tag.position : tag.titleLabel.parent.position.clone().applyMatrix4(tag.matrixWorld).applyMatrix4(tag.root.matrixWorld.clone().invert()) 
-                    //console.log(props.title, 'getImageCenter', pos.toArray(), tag.lineLength)
+                    console.log(props.title, tag.id, 'getImageCenter', pos.toArray()/* , tag.titleLabel.parent.position.toArray(), */ )
                     return  pos
                 },
              
@@ -1957,6 +1984,22 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
 
     }
 
+    function buildMapFromProp(){
+        cesiumViewer.imageryLayers.removeAll();
+        
+        mapProps.forEach(e=>{
+            let gaoDeImageryProvider = new Cesium.UrlTemplateImageryProvider({ 
+                url:e.url,
+                minimumLevel: 0,
+                maximumLevel: e.maximumLevel,
+                credit: new Cesium.Credit(e.name),
+                tilingScheme: new AmapMercatorTilingScheme(),  //修改投影,从84->高德
+                crossOrigin: 'anonymous',
+            }) 
+            cesiumViewer.imageryLayers.addImageryProvider(gaoDeImageryProvider);
+        })
+    } 
+
     function buildMap(){
         if (Potree.settings.showCesium && !window.cesiumViewer) {
 
@@ -1985,29 +2028,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
 
                 //terrainShadows: Cesium.ShadowMode.DISABLED, //terrain地形 //自带的地图直接用84坐标 
             }); 
-            
-            let satellite = true
-            let gaoDeImageryProvider = cesImageryProvider || new Cesium.UrlTemplateImageryProvider({ 
-                url: `http://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是标准
-                minimumLevel: 0,
-                maximumLevel: satellite?18:19, 
-                credit: new Cesium.Credit('高德地图'),
-                tilingScheme: new AmapMercatorTilingScheme(),  //修改投影,从84->高德
-                crossOrigin: 'anonymous',
-            }) 
-            cesiumViewer.imageryLayers.removeAll();
-            cesiumViewer.imageryLayers.addImageryProvider(gaoDeImageryProvider);
-             
-            //叠一层文字上去
-            let gaoDeImageryProvider2 = cesImageryProvider || new Cesium.UrlTemplateImageryProvider({ 
-                url: `http://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是标准
-                minimumLevel: 0,
-                maximumLevel: 18, 
-                credit: new Cesium.Credit('高德地图'),
-                tilingScheme: new AmapMercatorTilingScheme(),  //修改投影,从84->高德
-                crossOrigin: 'anonymous',
-            }) 
-            cesiumViewer.imageryLayers.addImageryProvider(gaoDeImageryProvider2);
+            buildMapFromProp()
              
              
               
@@ -2042,6 +2063,8 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
                 return deferred.promise()
                  
             }
+        }else{
+            buildMapFromProp()
         }
         updateMap()