Kaynağa Gözat

fix: cesium加载江门地图

xzw 7 ay önce
ebeveyn
işleme
15168ed769
1 değiştirilmiş dosya ile 25 ekleme ve 12 silme
  1. 25 12
      src/sdk/cover/index.js

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

@@ -694,17 +694,20 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
             let map = viewer.mapViewer.mapLayer.maps.find(e => e.name == 'map')
             map.switchStyle(type )
         }, */
-        switchMapType(type){//切换成江门的卫星或标准 
+        switchMapType(type){//切换成江门的卫星或标准  
+         
+            console.log('switchMapType',type)
             let maximumLevel, url
             if(type == 'satellite'){
                 maximumLevel = 18
-                url = "http://a.map.jms.gd/tile/weixing/${z}/${x}/${y}.png"
+                url = "https://a.map.jms.gd/tile/weixing/{z}/{x}/{y}.png"
             }else{
                 maximumLevel = 19
-                url = "http://a.map.jms.gd/tile/gd_xiangtu/${z}/${x}/${y}.png"  
+                url = "https://a.map.jms.gd/tile/gd_xiangtu/{z}/{x}/{y}.png"
             }
-            cesImageryProvider = Cesium.UrlTemplateImageryProvider({ //直接用84坐标,不用转高德
+            cesImageryProvider = new Cesium.UrlTemplateImageryProvider({ //直接用84坐标,不用转高德
                 url,  
+                crossOrigin: 'anonymous',
                 minimumLevel: 0,
                 maximumLevel 
             }) 
@@ -1360,7 +1363,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
         */
         createPath(props){//路线
         
-            console.log('createPath', props)
+            //console.log('createPath', props)
             let bus = mitt()
             
         
@@ -1617,7 +1620,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
         createTagging(props){
             let bus = mitt()
             
-             console.warn('createTagging', props)
+            //console.warn('createTagging', props)
             let root = viewer.scene.pointclouds.concat(viewer.objs.children).find(e=>e.dataset_id == props.modelId)
             if(!root){
                 return console.error('热点没有找到该modelId,模型是否已经删除?')
@@ -1908,8 +1911,9 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
         if (Potree.settings.showCesium && !window.cesiumViewer) {
 
             viewer.backgroundOpacity = 0
-
+            //密钥
             Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI2ZGM2YzY0ZC1kNWE0LTRiYTgtYTkwNS1kYmJiODRjMWUwMmQiLCJpZCI6MjMzMTQ1LCJpYXQiOjE3MjI5OTUwNTB9.niqpkl6xOkQ2KeJjelyDDDydmSGqKXKb5cX2NyxSNAw'
+          console.log('buildMap 啊啊啊啊啊啊 ')  
             window.cesiumViewer = new Cesium.Viewer('app', {
                 useDefaultRenderLoop: true,
                 requestRenderMode: true, //add 只有需要render时才会render,如tile加载完后、镜头移动后
@@ -1924,16 +1928,25 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
                 timeline: false,
                 navigationHelpButton: false,
                 //imageryProvider : Cesium.createOpenStreetMapImageryProvider({url : 'https://a.tile.openstreetmap.org/'}),
-                imageryProvider: cesImageryProvider || Cesium.UrlTemplateImageryProvider({ //直接用84坐标,不用转高德
+                /* imageryProvider: cesImageryProvider || new Cesium.UrlTemplateImageryProvider({ //直接用84坐标,不用转高德
                     url: 'https://wprd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}&token=YOUR_API_KEY',
                     minimumLevel: 0,
-                    maximumLevel: 19
-                }),
+                    maximumLevel: 19,
+                    crossOrigin: 'anonymous',
+                }), */
                 //高德秘钥版 imageryProvider: new Cesium.AmapImageryProvider({key, mapStyle: 'normal'})
                 //报错 401 (Unauthorized) 的方法 https://blog.csdn.net/LBY_XK/article/details/121992641
 
-                terrainShadows: Cesium.ShadowMode.DISABLED, //terrain地形
-            });
+                //terrainShadows: Cesium.ShadowMode.DISABLED, //terrain地形
+            }); 
+            let imageryProvider = cesImageryProvider || new Cesium.UrlTemplateImageryProvider({ //直接用84坐标,不用转高德
+                url: '//wprd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}&token=YOUR_API_KEY',
+                minimumLevel: 0,
+                maximumLevel: 19,
+                crossOrigin: 'anonymous',
+            }) 
+            cesiumViewer.imageryLayers.removeAll();
+            cesiumViewer.imageryLayers.addImageryProvider(imageryProvider);
              
             //lonlat = [113.595236803415,22.3665168584444]//[113.600356,22.364093]
             Potree.setLonlat(lonlat[0], lonlat[1])