Browse Source

fix: 第一次全部加载成功

xzw 1 year ago
parent
commit
8d019e56ab
3 changed files with 92631 additions and 101816 deletions
  1. 92611 101803
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map
  3. 19 12
      src/sdk/cover/index.js

File diff suppressed because it is too large
+ 92611 - 101803
public/lib/potree/potree.js


File diff suppressed because it is too large
+ 1 - 1
public/lib/potree/potree.js.map


+ 19 - 12
src/sdk/cover/index.js

@@ -40,6 +40,23 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
     let MergeEditor = viewer.modules.MergeEditor
     
     
+    {
+        
+        proj4.defs("LOCAL", "+proj=tmerc +ellps=WGS84 +lon_0=" + lonlat[0].toPrecision(15) + " +lat_0=" + lonlat[1].toPrecision(15)); //高德坐标系
+        proj4.defs("LOCAL_MAP", "+proj=tmerc +ellps=WGS84 +lon_0=" + lonlat[0].toPrecision(15) + " +lat_0=" + lonlat[1].toPrecision(15)); //地图和本地一样
+        proj4.defs("WGS84", "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs");
+         
+        let transform1 = proj4("WGS84", "LOCAL"); //这个ok 是展开的平面投影  LOCAL即NAVVIS:TMERC
+        let transform2 = proj4("+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs;");
+        //注:转入后再转出,和原来的有偏差。如果输入是local坐标,数字越大偏差越大,当百万时就明显了。如果是lonlat,很奇怪经度小于50时就乱了。
+        viewer.transform = {
+            lonlatToLocal : transform1,
+            lonlatTo4550 : transform2       // 转大地坐标EPSG:4550  
+        }  
+    }
+    
+    
+    
     viewer.addEventListener('camera_changed', e => {
         var camera = e.viewport.camera
         var pos = camera.position
@@ -421,17 +438,7 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
         enableMap(mapArea, latlng){ 
             
             if(!viewer.mapViewer){  
-                proj4.defs("LOCAL", "+proj=tmerc +ellps=WGS84 +lon_0=" + latlng[1].toPrecision(15) + " +lat_0=" + latlng[0].toPrecision(15)); //高德坐标系
-                proj4.defs("LOCAL_MAP", "+proj=tmerc +ellps=WGS84 +lon_0=" + latlng[1].toPrecision(15) + " +lat_0=" + latlng[0].toPrecision(15)); //地图和本地一样
-                proj4.defs("WGS84", "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs");
-                 
-                let transform1 = proj4("WGS84", "LOCAL"); //这个ok 是展开的平面投影  LOCAL即NAVVIS:TMERC
-                let transform2 = proj4("+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs;");
-                //注:转入后再转出,和原来的有偏差。如果输入是local坐标,数字越大偏差越大,当百万时就明显了。如果是lonlat,很奇怪经度小于50时就乱了。
-                viewer.transform = {
-                    lonlatToLocal : transform1,
-                    lonlatTo4550 : transform2       // 转大地坐标EPSG:4550  
-                } 
+                
                 //--------------------------------
                 viewer.mapViewer = new Potree.MapViewer(mapArea)
                 viewer.mapViewer.initProjection() 
@@ -520,7 +527,7 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
             /* requestLoadCount || (props.url = Potree.resourcePath+'/models/Block1.glb')
             requestLoadCount++ */ 
             //console.log(props.isDynamicAdded, props.mode)
- 
+        
             let bus = mitt()  
             //console.log('addModel',props)
             props.isFirstLoad = isLocal ? props.bottom == void 0 : (props.isDynamicAdded || props.mode == 'single')  // 在编辑时用户添加的 或 展示单个模型 (props.mode='single'模型展示页, props.mode='many'融合页)