|  | @@ -136,7 +136,7 @@
 | 
	
		
			
				|  |  |  			 * @param {Object} data 传递给 data 属性的数组中该节点所对应的对象
 | 
	
		
			
				|  |  |  			 * @param {Object} checked 节点本身是否被选中
 | 
	
		
			
				|  |  |  			 */
 | 
	
		
			
				|  |  | -			setLayersControl(jt3d, data, checked) {
 | 
	
		
			
				|  |  | +			async setLayersControl(jt3d, data, checked) {
 | 
	
		
			
				|  |  |  				console.log('操作', '图层控制')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  				let _self = this;
 | 
	
	
		
			
				|  | @@ -181,7 +181,7 @@
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -				return new Promise((resolve, reject) => {
 | 
	
		
			
				|  |  | +				await new Promise((resolve, reject) => {
 | 
	
		
			
				|  |  |  					switch (data.loadtype) {
 | 
	
		
			
				|  |  |  						case "GeoJsonPoint": //GeoJsonPoint
 | 
	
		
			
				|  |  |  							if (checked) {
 | 
	
	
		
			
				|  | @@ -207,7 +207,7 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  								jt3d.layer.addBillboardByGeoJson(_options, function(serviceId) {
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  							} else {
 | 
	
	
		
			
				|  | @@ -215,7 +215,6 @@
 | 
	
		
			
				|  |  |  									serviceId: _serviceId,
 | 
	
		
			
				|  |  |  								}).then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  							break;
 | 
	
	
		
			
				|  | @@ -234,7 +233,7 @@
 | 
	
		
			
				|  |  |  									if (parameterset.clampToGround) { //是否贴地
 | 
	
		
			
				|  |  |  										_options.clampToGround = parameterset.clampToGround;
 | 
	
		
			
				|  |  |  									}
 | 
	
		
			
				|  |  | -									if (!parameterset.isImageAlpha) { //是否采用图片颜色
 | 
	
		
			
				|  |  | +									if (parameterset.isImageAlpha) { //是否采用图片颜色
 | 
	
		
			
				|  |  |  										_options.isImageAlpha = parameterset.isImageAlpha;
 | 
	
		
			
				|  |  |  									}
 | 
	
		
			
				|  |  |  									if (parameterset.imgUrl) { //精灵线图片
 | 
	
	
		
			
				|  | @@ -263,14 +262,13 @@
 | 
	
		
			
				|  |  |  								}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  								jt3d.layer.addPolylineByGeoJson(_options, function(serviceId) {
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  							} else {
 | 
	
		
			
				|  |  |  								jt3d.layer.removeDataSources({
 | 
	
		
			
				|  |  |  									serviceId: _serviceId,
 | 
	
		
			
				|  |  |  								}).then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  							break;
 | 
	
	
		
			
				|  | @@ -315,7 +313,6 @@
 | 
	
		
			
				|  |  |  											// let flyToEntity = jt3d.LocateUtil.flyToEntityByPoints([
 | 
	
		
			
				|  |  |  											// 	parameterset.points,
 | 
	
		
			
				|  |  |  											// ], 'point');
 | 
	
		
			
				|  |  | -											resolve(true);
 | 
	
		
			
				|  |  |  										});
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  									} else {
 | 
	
	
		
			
				|  | @@ -329,7 +326,6 @@
 | 
	
		
			
				|  |  |  									serviceId: _serviceId,
 | 
	
		
			
				|  |  |  								}).then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  							break;
 | 
	
	
		
			
				|  | @@ -339,14 +335,17 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  								if (parameterset) {
 | 
	
		
			
				|  |  |  									if (parameterset.points) {
 | 
	
		
			
				|  |  | -										jt3d.layer.addPolygonImageMaterial({
 | 
	
		
			
				|  |  | -											id: _serviceId,
 | 
	
		
			
				|  |  | -											points: parameterset.points,
 | 
	
		
			
				|  |  | -											url: data.datasource,
 | 
	
		
			
				|  |  | -											alpha: _opacity
 | 
	
		
			
				|  |  | -										}, function(serviceId) {
 | 
	
		
			
				|  |  | -											resolve(true);
 | 
	
		
			
				|  |  | -										});
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +										if (!window[_serviceId]) {
 | 
	
		
			
				|  |  | +											jt3d.layer.addPolygonImageMaterial({
 | 
	
		
			
				|  |  | +												id: _serviceId,
 | 
	
		
			
				|  |  | +												points: parameterset.points,
 | 
	
		
			
				|  |  | +												url: data.datasource,
 | 
	
		
			
				|  |  | +												alpha: _opacity
 | 
	
		
			
				|  |  | +											}, function(serviceId) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +											});
 | 
	
		
			
				|  |  | +										}
 | 
	
		
			
				|  |  |  									} else {
 | 
	
		
			
				|  |  |  										ElMessage("请检测图层表parameterset字段是否设置points");
 | 
	
		
			
				|  |  |  									}
 | 
	
	
		
			
				|  | @@ -358,7 +357,6 @@
 | 
	
		
			
				|  |  |  									serviceId: _serviceId,
 | 
	
		
			
				|  |  |  								}).then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  							break;
 | 
	
	
		
			
				|  | @@ -367,20 +365,20 @@
 | 
	
		
			
				|  |  |  							if (checked) {
 | 
	
		
			
				|  |  |  								data.isinit = '1';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -								let floatLayer = new this.jt3dSDK.CrImageServerLayer({
 | 
	
		
			
				|  |  | -									viewer: jt3d._viewer,
 | 
	
		
			
				|  |  | -									url: data.datasource,
 | 
	
		
			
				|  |  | -									opacity: _opacity,
 | 
	
		
			
				|  |  | -									show: true
 | 
	
		
			
				|  |  | -								});
 | 
	
		
			
				|  |  | -								window[_serviceId] = floatLayer;
 | 
	
		
			
				|  |  | -								//添加网格地图
 | 
	
		
			
				|  |  | -								// window[_serviceId].show();
 | 
	
		
			
				|  |  | -								resolve(true);
 | 
	
		
			
				|  |  | +								if (!window[_serviceId]) {
 | 
	
		
			
				|  |  | +									let floatLayer = new this.jt3dSDK.CrImageServerLayer({
 | 
	
		
			
				|  |  | +										viewer: jt3d._viewer,
 | 
	
		
			
				|  |  | +										url: data.datasource,
 | 
	
		
			
				|  |  | +										opacity: _opacity,
 | 
	
		
			
				|  |  | +										show: true
 | 
	
		
			
				|  |  | +									});
 | 
	
		
			
				|  |  | +									window[_serviceId] = floatLayer;
 | 
	
		
			
				|  |  | +									//添加网格地图
 | 
	
		
			
				|  |  | +									// window[_serviceId].show();
 | 
	
		
			
				|  |  | +								}
 | 
	
		
			
				|  |  |  							} else {
 | 
	
		
			
				|  |  |  								window[_serviceId].hide();
 | 
	
		
			
				|  |  |  								data.isinit = '0';
 | 
	
		
			
				|  |  | -								resolve(true);
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  							break;
 | 
	
		
			
				|  |  |  						case "DEM": //地形服务(DEM)
 | 
	
	
		
			
				|  | @@ -397,11 +395,9 @@
 | 
	
		
			
				|  |  |  									}
 | 
	
		
			
				|  |  |  								}
 | 
	
		
			
				|  |  |  								jt3d.layer.addTerrain(_options);
 | 
	
		
			
				|  |  | -								resolve(true);
 | 
	
		
			
				|  |  |  							} else {
 | 
	
		
			
				|  |  |  								jt3d.layer.removeTerrain().then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  							break;
 | 
	
	
		
			
				|  | @@ -427,29 +423,28 @@
 | 
	
		
			
				|  |  |  									}
 | 
	
		
			
				|  |  |  								}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -								//加载服务
 | 
	
		
			
				|  |  | -								jt3d.layer.addUrlTemplateImagery(_options, function(serviceId) {
 | 
	
		
			
				|  |  | +								if (!window[_serviceId]) {
 | 
	
		
			
				|  |  | +									//加载服务
 | 
	
		
			
				|  |  | +									jt3d.layer.addUrlTemplateImagery(_options, function(serviceId) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -									//重置图层顺序
 | 
	
		
			
				|  |  | -									_self.setLayerNumber(jt3d, serviceId)
 | 
	
		
			
				|  |  | -									if (atlastype === "底图") {
 | 
	
		
			
				|  |  | -										var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | -										imageryLayers.lowerToBottom(window[serviceId]);
 | 
	
		
			
				|  |  | -										imageryLayers.raise(window[serviceId]);
 | 
	
		
			
				|  |  | -										if (layertype === '标注') {
 | 
	
		
			
				|  |  | +										//重置图层顺序
 | 
	
		
			
				|  |  | +										_self.setLayerNumber(jt3d, serviceId)
 | 
	
		
			
				|  |  | +										if (atlastype === "底图") {
 | 
	
		
			
				|  |  |  											var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | -											imageryLayers.raiseToTop(window[serviceId]);
 | 
	
		
			
				|  |  | +											imageryLayers.lowerToBottom(window[serviceId]);
 | 
	
		
			
				|  |  | +											imageryLayers.raise(window[serviceId]);
 | 
	
		
			
				|  |  | +											if (layertype === '标注') {
 | 
	
		
			
				|  |  | +												var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | +												imageryLayers.raiseToTop(window[serviceId]);
 | 
	
		
			
				|  |  | +											}
 | 
	
		
			
				|  |  |  										}
 | 
	
		
			
				|  |  | -									}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  | -								});
 | 
	
		
			
				|  |  | +									});
 | 
	
		
			
				|  |  | +								}
 | 
	
		
			
				|  |  |  							} else {
 | 
	
		
			
				|  |  |  								jt3d.layer.removeImageryProvider({
 | 
	
		
			
				|  |  |  									serviceId: _serviceId
 | 
	
		
			
				|  |  |  								}).then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -484,21 +479,22 @@
 | 
	
		
			
				|  |  |  													_options.maximumLevel = parameterset.maximumLevel;
 | 
	
		
			
				|  |  |  												}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -												jt3d.layer.addWebMapTileService(_options, function(serviceId) {
 | 
	
		
			
				|  |  | +												if (!window[_serviceId]) {
 | 
	
		
			
				|  |  | +													jt3d.layer.addWebMapTileService(_options, function(serviceId) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -													//重置图层顺序
 | 
	
		
			
				|  |  | -													_self.setLayerNumber(jt3d, serviceId)
 | 
	
		
			
				|  |  | -													if (atlastype === "底图") {
 | 
	
		
			
				|  |  | -														var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | -														imageryLayers.lowerToBottom(window[serviceId]);
 | 
	
		
			
				|  |  | -														imageryLayers.raise(window[serviceId]);
 | 
	
		
			
				|  |  | -														if (layertype === '标注') {
 | 
	
		
			
				|  |  | +														//重置图层顺序
 | 
	
		
			
				|  |  | +														_self.setLayerNumber(jt3d, serviceId)
 | 
	
		
			
				|  |  | +														if (atlastype === "底图") {
 | 
	
		
			
				|  |  |  															var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | -															imageryLayers.raiseToTop(window[serviceId]);
 | 
	
		
			
				|  |  | +															imageryLayers.lowerToBottom(window[serviceId]);
 | 
	
		
			
				|  |  | +															imageryLayers.raise(window[serviceId]);
 | 
	
		
			
				|  |  | +															if (layertype === '标注') {
 | 
	
		
			
				|  |  | +																var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | +																imageryLayers.raiseToTop(window[serviceId]);
 | 
	
		
			
				|  |  | +															}
 | 
	
		
			
				|  |  |  														}
 | 
	
		
			
				|  |  | -													}
 | 
	
		
			
				|  |  | -													resolve(true);
 | 
	
		
			
				|  |  | -												});
 | 
	
		
			
				|  |  | +													});
 | 
	
		
			
				|  |  | +												}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  											} else {
 | 
	
		
			
				|  |  |  												ElMessage("请检测图层表parameterset字段是否设置tileMatrixSetID");
 | 
	
	
		
			
				|  | @@ -520,7 +516,6 @@
 | 
	
		
			
				|  |  |  									serviceId: _serviceId
 | 
	
		
			
				|  |  |  								}).then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  							break;
 | 
	
	
		
			
				|  | @@ -534,10 +529,11 @@
 | 
	
		
			
				|  |  |  									url: data.datasource,
 | 
	
		
			
				|  |  |  									alpha: _opacity
 | 
	
		
			
				|  |  |  								}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  								if (parameterset) {
 | 
	
		
			
				|  |  |  									if (parameterset.layers) { //WMTS请求的层名
 | 
	
		
			
				|  |  |  										_options.layers = parameterset.layers;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +										_options.parameters = parameterset.parameters
 | 
	
		
			
				|  |  |  										if (parameterset.minimumLevel) { //最小层级
 | 
	
		
			
				|  |  |  											_options.minimumLevel = parameterset.minimumLevel;
 | 
	
		
			
				|  |  |  										}
 | 
	
	
		
			
				|  | @@ -545,21 +541,22 @@
 | 
	
		
			
				|  |  |  											_options.maximumLevel = parameterset.maximumLevel;
 | 
	
		
			
				|  |  |  										}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -										jt3d.layer.addWebMapService(_options, function(serviceId) {
 | 
	
		
			
				|  |  | +										if (!window[_serviceId]) {
 | 
	
		
			
				|  |  | +											jt3d.layer.addWebMapService(_options, function(serviceId) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -											//重置图层顺序
 | 
	
		
			
				|  |  | -											_self.setLayerNumber(jt3d, serviceId)
 | 
	
		
			
				|  |  | -											if (atlastype === "底图") {
 | 
	
		
			
				|  |  | -												var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | -												imageryLayers.lowerToBottom(window[serviceId]);
 | 
	
		
			
				|  |  | -												imageryLayers.raise(window[serviceId]);
 | 
	
		
			
				|  |  | -												if (layertype === '标注') {
 | 
	
		
			
				|  |  | +												//重置图层顺序
 | 
	
		
			
				|  |  | +												_self.setLayerNumber(jt3d, serviceId)
 | 
	
		
			
				|  |  | +												if (atlastype === "底图") {
 | 
	
		
			
				|  |  |  													var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | -													imageryLayers.raiseToTop(window[serviceId]);
 | 
	
		
			
				|  |  | +													imageryLayers.lowerToBottom(window[serviceId]);
 | 
	
		
			
				|  |  | +													imageryLayers.raise(window[serviceId]);
 | 
	
		
			
				|  |  | +													if (layertype === '标注') {
 | 
	
		
			
				|  |  | +														var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | +														imageryLayers.raiseToTop(window[serviceId]);
 | 
	
		
			
				|  |  | +													}
 | 
	
		
			
				|  |  |  												}
 | 
	
		
			
				|  |  | -											}
 | 
	
		
			
				|  |  | -											resolve(true);
 | 
	
		
			
				|  |  | -										});
 | 
	
		
			
				|  |  | +											});
 | 
	
		
			
				|  |  | +										}
 | 
	
		
			
				|  |  |  									} else {
 | 
	
		
			
				|  |  |  										ElMessage("请检测图层表parameterset字段是否设置layers");
 | 
	
		
			
				|  |  |  									}
 | 
	
	
		
			
				|  | @@ -571,7 +568,6 @@
 | 
	
		
			
				|  |  |  									serviceId: _serviceId
 | 
	
		
			
				|  |  |  								}).then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  							break;
 | 
	
	
		
			
				|  | @@ -591,28 +587,29 @@
 | 
	
		
			
				|  |  |  									}
 | 
	
		
			
				|  |  |  								}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -								//加载服务
 | 
	
		
			
				|  |  | -								jt3d.layer.addArcGisMapServer(_options, function(serviceId) {
 | 
	
		
			
				|  |  | +								if (!window[_serviceId]) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -									//重置图层顺序
 | 
	
		
			
				|  |  | -									_self.setLayerNumber(jt3d, serviceId)
 | 
	
		
			
				|  |  | -									if (atlastype === "底图") {
 | 
	
		
			
				|  |  | -										var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | -										imageryLayers.lowerToBottom(window[serviceId]);
 | 
	
		
			
				|  |  | -										imageryLayers.raise(window[serviceId]);
 | 
	
		
			
				|  |  | -										if (layertype === '标注') {
 | 
	
		
			
				|  |  | +									//加载服务
 | 
	
		
			
				|  |  | +									jt3d.layer.addArcGisMapServer(_options, function(serviceId) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +										//重置图层顺序
 | 
	
		
			
				|  |  | +										_self.setLayerNumber(jt3d, serviceId)
 | 
	
		
			
				|  |  | +										if (atlastype === "底图") {
 | 
	
		
			
				|  |  |  											var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | -											imageryLayers.raiseToTop(window[serviceId]);
 | 
	
		
			
				|  |  | +											imageryLayers.lowerToBottom(window[serviceId]);
 | 
	
		
			
				|  |  | +											imageryLayers.raise(window[serviceId]);
 | 
	
		
			
				|  |  | +											if (layertype === '标注') {
 | 
	
		
			
				|  |  | +												var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | +												imageryLayers.raiseToTop(window[serviceId]);
 | 
	
		
			
				|  |  | +											}
 | 
	
		
			
				|  |  |  										}
 | 
	
		
			
				|  |  | -									}
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  | -								})
 | 
	
		
			
				|  |  | +									})
 | 
	
		
			
				|  |  | +								}
 | 
	
		
			
				|  |  |  							} else {
 | 
	
		
			
				|  |  |  								jt3d.layer.removeImageryProvider({
 | 
	
		
			
				|  |  |  									serviceId: _serviceId
 | 
	
		
			
				|  |  |  								}).then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  							break;
 | 
	
	
		
			
				|  | @@ -635,27 +632,27 @@
 | 
	
		
			
				|  |  |  									}
 | 
	
		
			
				|  |  |  								}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -								jt3d.layer.addTileMapServiceImagery(_options, function(serviceId) {
 | 
	
		
			
				|  |  | +								if (!window[_serviceId]) {
 | 
	
		
			
				|  |  | +									jt3d.layer.addTileMapServiceImagery(_options, function(serviceId) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -									//重置图层顺序
 | 
	
		
			
				|  |  | -									_self.setLayerNumber(jt3d, serviceId)
 | 
	
		
			
				|  |  | -									if (atlastype === "底图") {
 | 
	
		
			
				|  |  | -										var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | -										imageryLayers.lowerToBottom(window[serviceId]);
 | 
	
		
			
				|  |  | -										imageryLayers.raise(window[serviceId]);
 | 
	
		
			
				|  |  | -										if (layertype === '标注') {
 | 
	
		
			
				|  |  | +										//重置图层顺序
 | 
	
		
			
				|  |  | +										_self.setLayerNumber(jt3d, serviceId)
 | 
	
		
			
				|  |  | +										if (atlastype === "底图") {
 | 
	
		
			
				|  |  |  											var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | -											imageryLayers.raiseToTop(window[serviceId]);
 | 
	
		
			
				|  |  | +											imageryLayers.lowerToBottom(window[serviceId]);
 | 
	
		
			
				|  |  | +											imageryLayers.raise(window[serviceId]);
 | 
	
		
			
				|  |  | +											if (layertype === '标注') {
 | 
	
		
			
				|  |  | +												var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  | +												imageryLayers.raiseToTop(window[serviceId]);
 | 
	
		
			
				|  |  | +											}
 | 
	
		
			
				|  |  |  										}
 | 
	
		
			
				|  |  | -									}
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  | -								});
 | 
	
		
			
				|  |  | +									});
 | 
	
		
			
				|  |  | +								}
 | 
	
		
			
				|  |  |  							} else {
 | 
	
		
			
				|  |  |  								jt3d.layer.removeImageryProvider({
 | 
	
		
			
				|  |  |  									serviceId: _serviceId
 | 
	
		
			
				|  |  |  								}).then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  |  								});
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  							break;
 | 
	
	
		
			
				|  | @@ -664,9 +661,7 @@
 | 
	
		
			
				|  |  |  							if (checked) {
 | 
	
		
			
				|  |  |  								data.isinit = '1';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -								if (window[_serviceId]) {
 | 
	
		
			
				|  |  | -									window[_serviceId].show = true;
 | 
	
		
			
				|  |  | -								} else {
 | 
	
		
			
				|  |  | +								if (!window[_serviceId]) {
 | 
	
		
			
				|  |  |  									//设置参数
 | 
	
		
			
				|  |  |  									let _options = {
 | 
	
		
			
				|  |  |  										id: _serviceId,
 | 
	
	
		
			
				|  | @@ -683,22 +678,20 @@
 | 
	
		
			
				|  |  |  									//加载实景
 | 
	
		
			
				|  |  |  									jt3d.layer.addCesium3DTileset(_options, function(serviceId) {
 | 
	
		
			
				|  |  |  										window[_serviceId].show = true;
 | 
	
		
			
				|  |  | -										resolve(true);
 | 
	
		
			
				|  |  |  									});
 | 
	
		
			
				|  |  |  								}
 | 
	
		
			
				|  |  |  							} else {
 | 
	
		
			
				|  |  | -								if (window[_serviceId]) {
 | 
	
		
			
				|  |  | -									//3DTileset数据量比较大,会报很多cesium错误
 | 
	
		
			
				|  |  | -									// jt3d.layer.removeScenePrimitives({
 | 
	
		
			
				|  |  | -									// 	serviceId: _serviceId
 | 
	
		
			
				|  |  | -									// }).then(res => {
 | 
	
		
			
				|  |  | -									// 	data.isinit = '0';
 | 
	
		
			
				|  |  | -									// });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -									window[_serviceId].show = false;
 | 
	
		
			
				|  |  | +								// 3DTileset数据量比较大,会报很多cesium错误
 | 
	
		
			
				|  |  | +								jt3d.layer.removeScenePrimitives({
 | 
	
		
			
				|  |  | +									serviceId: _serviceId
 | 
	
		
			
				|  |  | +								}).then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  | -								}
 | 
	
		
			
				|  |  | +								});
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +								// if (window[_serviceId]) {
 | 
	
		
			
				|  |  | +								// 	window[_serviceId].show = false;
 | 
	
		
			
				|  |  | +								// 	data.isinit = '0';
 | 
	
		
			
				|  |  | +								// }
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  							break;
 | 
	
	
		
			
				|  | @@ -706,9 +699,7 @@
 | 
	
		
			
				|  |  |  							if (checked) {
 | 
	
		
			
				|  |  |  								data.isinit = '1';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -								if (window[_serviceId]) {
 | 
	
		
			
				|  |  | -									window[_serviceId].show = true;
 | 
	
		
			
				|  |  | -								} else {
 | 
	
		
			
				|  |  | +								if (!window[_serviceId]) {
 | 
	
		
			
				|  |  |  									//设置参数
 | 
	
		
			
				|  |  |  									let _options = {
 | 
	
		
			
				|  |  |  										id: _serviceId,
 | 
	
	
		
			
				|  | @@ -723,21 +714,19 @@
 | 
	
		
			
				|  |  |  									//加载白膜
 | 
	
		
			
				|  |  |  									jt3d.layer.addCesium3DTilesetBm(_options, function(serviceId) {
 | 
	
		
			
				|  |  |  										window[_serviceId].show = true;
 | 
	
		
			
				|  |  | -										resolve(true);
 | 
	
		
			
				|  |  |  									});
 | 
	
		
			
				|  |  |  								}
 | 
	
		
			
				|  |  |  							} else {
 | 
	
		
			
				|  |  | -								if (window[_serviceId]) {
 | 
	
		
			
				|  |  | -									// jt3d.layer.removeScenePrimitives({
 | 
	
		
			
				|  |  | -									// 	serviceId: _serviceId
 | 
	
		
			
				|  |  | -									// }).then(res => {
 | 
	
		
			
				|  |  | -									// 	data.isinit = '0';
 | 
	
		
			
				|  |  | -									// });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -									window[_serviceId].show = false;
 | 
	
		
			
				|  |  | +								jt3d.layer.removeScenePrimitives({
 | 
	
		
			
				|  |  | +									serviceId: _serviceId
 | 
	
		
			
				|  |  | +								}).then(res => {
 | 
	
		
			
				|  |  |  									data.isinit = '0';
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  | -								}
 | 
	
		
			
				|  |  | +								});
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +								// if (window[_serviceId]) {
 | 
	
		
			
				|  |  | +								// 	window[_serviceId].show = false;
 | 
	
		
			
				|  |  | +								// 	data.isinit = '0';
 | 
	
		
			
				|  |  | +								// }
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  							break;
 | 
	
		
			
				|  |  |  						default:
 | 
	
	
		
			
				|  | @@ -750,7 +739,7 @@
 | 
	
		
			
				|  |  |  			 * 服务定位
 | 
	
		
			
				|  |  |  			 * @param {Object} data
 | 
	
		
			
				|  |  |  			 */
 | 
	
		
			
				|  |  | -			 setLayersLocation(jt3d, data) {
 | 
	
		
			
				|  |  | +			async setLayersLocation(jt3d, data) {
 | 
	
		
			
				|  |  |  				console.log('操作', '单击定位')
 | 
	
		
			
				|  |  |  				let _self = this;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -779,7 +768,7 @@
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  				if (data.isinit === '1') {
 | 
	
		
			
				|  |  | -					return new Promise((resolve, reject) => {
 | 
	
		
			
				|  |  | +					await new Promise((resolve, reject) => {
 | 
	
		
			
				|  |  |  						switch (data.loadtype) {
 | 
	
		
			
				|  |  |  							case "GeoJsonPolyline": //GeoJsonPolyline
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -795,8 +784,6 @@
 | 
	
		
			
				|  |  |  											pitch: -90,
 | 
	
		
			
				|  |  |  											range: 8880
 | 
	
		
			
				|  |  |  										});
 | 
	
		
			
				|  |  | -										
 | 
	
		
			
				|  |  | -										resolve(true);
 | 
	
		
			
				|  |  |  									} else {
 | 
	
		
			
				|  |  |  										ElMessage("请检测图层表parameterset字段是否设置points");
 | 
	
		
			
				|  |  |  									}
 | 
	
	
		
			
				|  | @@ -808,7 +795,7 @@
 | 
	
		
			
				|  |  |  							case "PolygonImageMaterial": //图片材质
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  								break;
 | 
	
		
			
				|  |  | -							case "CrImageServerLayer": //地形服务(DEM)
 | 
	
		
			
				|  |  | +							case "CrImageServerLayer": //规划图
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  								break;
 | 
	
		
			
				|  |  |  							case "DEM": //地形服务(DEM)
 | 
	
	
		
			
				|  | @@ -852,8 +839,6 @@
 | 
	
		
			
				|  |  |  									// jt3d.LocateUtil.flyToTileset(window[_serviceId],options);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  									// jt3d.LocateUtil.zoomToTilesets(window[_serviceId], options);
 | 
	
		
			
				|  |  | -									
 | 
	
		
			
				|  |  | -									resolve(true);
 | 
	
		
			
				|  |  |  								}
 | 
	
		
			
				|  |  |  								break;
 | 
	
		
			
				|  |  |  							case "Cesium3DTileset_BM": //加载3DTileset地图服务--白膜
 | 
	
	
		
			
				|  | @@ -910,6 +895,12 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  				var imageryLayers = jt3d._viewer.imageryLayers;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +				// //标注层置顶
 | 
	
		
			
				|  |  | +				// if (store.markID) {
 | 
	
		
			
				|  |  | +				// 	console.log('标注id', store.markID)
 | 
	
		
			
				|  |  | +				// 	imageryLayers.raiseToTop(window[store.markID]);
 | 
	
		
			
				|  |  | +				// }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  				//设置图层初始顺序
 | 
	
		
			
				|  |  |  				imageryLayers.lowerToBottom(window[serviceId]);
 | 
	
		
			
				|  |  |  				imageryLayers.raise(window[serviceId]);
 | 
	
	
		
			
				|  | @@ -927,6 +918,9 @@
 | 
	
		
			
				|  |  |  								imageryLayers.raise(window[serviceId])
 | 
	
		
			
				|  |  |  								console.log('aaa', serviceId)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +							} else {
 | 
	
		
			
				|  |  | +								// imageryLayers.raiseToTop(window[store.markID]);
 | 
	
		
			
				|  |  | +								// break;
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  |  						}
 | 
	
		
			
				|  |  |  					}
 |