|
@@ -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()
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -1958,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) {
|
|
|
|
|
@@ -1986,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()
|
|
|
|
|
|
|
|
|
|
|
@@ -2043,6 +2063,8 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
return deferred.promise()
|
|
|
|
|
|
}
|
|
|
+ }else{
|
|
|
+ buildMapFromProp()
|
|
|
}
|
|
|
updateMap()
|
|
|
|