|  | @@ -22,7 +22,7 @@
 | 
											
												
													
														|  |  				<el-checkbox v-if="data.ischeck === '1' && store.userport == 'PC'" v-model="node.checked" :indeterminate="node.indeterminate" :disabled="!!node.disabled" @change="handleCheckBoxChange($event, data, node)">
 |  |  				<el-checkbox v-if="data.ischeck === '1' && store.userport == 'PC'" v-model="node.checked" :indeterminate="node.indeterminate" :disabled="!!node.disabled" @change="handleCheckBoxChange($event, data, node)">
 | 
											
												
													
														|  |  				</el-checkbox>
 |  |  				</el-checkbox>
 | 
											
												
													
														|  |  				<el-switch v-else-if="data.ischeck == 1 && store.userport == 'APP'" width="30rem" size="small" v-model="node.checked" @change="handleCheckBoxChange($event, data, node)" />
 |  |  				<el-switch v-else-if="data.ischeck == 1 && store.userport == 'APP'" width="30rem" size="small" v-model="node.checked" @change="handleCheckBoxChange($event, data, node)" />
 | 
											
												
													
														|  | -				<span class="custom-tree-node" @click="handleClick(data)">
 |  | 
 | 
											
												
													
														|  | 
 |  | +				<span class="custom-tree-node" @click="handleClick(data)" style="width: 150rem;text-align: left;">
 | 
											
												
													
														|  |  					<!-- 字体、图标 -->
 |  |  					<!-- 字体、图标 -->
 | 
											
												
													
														|  |  					<!-- <span>
 |  |  					<!-- <span>
 | 
											
												
													
														|  |  						<img src="@/assets/images/logo16x16.ico" />
 |  |  						<img src="@/assets/images/logo16x16.ico" />
 | 
											
										
											
												
													
														|  | @@ -47,6 +47,7 @@
 | 
											
												
													
														|  |  	let store = undefined;
 |  |  	let store = undefined;
 | 
											
												
													
														|  |  	let jt3dRight = undefined;
 |  |  	let jt3dRight = undefined;
 | 
											
												
													
														|  |  	let jt3dLeft = undefined;
 |  |  	let jt3dLeft = undefined;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  	export default {
 |  |  	export default {
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  		/* 数据 */
 |  |  		/* 数据 */
 | 
											
										
											
												
													
														|  | @@ -62,142 +63,24 @@
 | 
											
												
													
														|  |  		/* 方法 */
 |  |  		/* 方法 */
 | 
											
												
													
														|  |  		methods: {
 |  |  		methods: {
 | 
											
												
													
														|  |  			/**
 |  |  			/**
 | 
											
												
													
														|  | -			 * el-tree 当节点被点击的时候触发
 |  | 
 | 
											
												
													
														|  | -			 * 控制地图服务的显示及隐藏
 |  | 
 | 
											
												
													
														|  | 
 |  | +			 * 单击图层名称触发服务定位
 | 
											
												
													
														|  |  			 * @param {Object} data 传递给 data 属性的数组中该节点所对应的对象
 |  |  			 * @param {Object} data 传递给 data 属性的数组中该节点所对应的对象
 | 
											
												
													
														|  |  			 */
 |  |  			 */
 | 
											
												
													
														|  | -			async handleClick(data) {
 |  | 
 | 
											
												
													
														|  | -				let _self = this;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -				let _serviceId = "serviceLeft_" + data.layercode + data.layerorder;
 |  | 
 | 
											
												
													
														|  | -				let layername = data.layername;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -				//透明度
 |  | 
 | 
											
												
													
														|  | -				let _opacity = null;
 |  | 
 | 
											
												
													
														|  | -				if (data.opacity == null) {
 |  | 
 | 
											
												
													
														|  | -					_opacity = 1;
 |  | 
 | 
											
												
													
														|  | -				} else {
 |  | 
 | 
											
												
													
														|  | -					_opacity = Number(data.opacity);
 |  | 
 | 
											
												
													
														|  | -					data.opacity = _opacity;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -					if (_opacity == 0) {
 |  | 
 | 
											
												
													
														|  | -						_opacity = 1;
 |  | 
 | 
											
												
													
														|  | -					}
 |  | 
 | 
											
												
													
														|  | -				}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -				//参数集
 |  | 
 | 
											
												
													
														|  | -				let parameterset = data.parameterset;
 |  | 
 | 
											
												
													
														|  | -				if (data.parameterset instanceof Object) {
 |  | 
 | 
											
												
													
														|  | -					parameterset = data.parameterset;
 |  | 
 | 
											
												
													
														|  | -				} else if (data.parameterset != "" && data.parameterset != null && data.parameterset != undefined) {
 |  | 
 | 
											
												
													
														|  | -					parameterset = JSON.parse(data.parameterset);
 |  | 
 | 
											
												
													
														|  | -				}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -				if (data.isinit === '1') {
 |  | 
 | 
											
												
													
														|  | -					await new Promise((resolve, reject) => {
 |  | 
 | 
											
												
													
														|  | -						switch (data.loadtype) {
 |  | 
 | 
											
												
													
														|  | -							case "GeoJsonPolyline": //GeoJsonPolyline
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							case "entitiesGltf": //gltf/glb
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.points) { //模型位置
 |  | 
 | 
											
												
													
														|  | -										let flyToEntity = jt3dLeft.LocateUtil.flyToEntityByPoints([
 |  | 
 | 
											
												
													
														|  | -											parameterset.points,
 |  | 
 | 
											
												
													
														|  | -										], 'point', {
 |  | 
 | 
											
												
													
														|  | -											heading: 0,
 |  | 
 | 
											
												
													
														|  | -											pitch: -90,
 |  | 
 | 
											
												
													
														|  | -											range: 8880
 |  | 
 | 
											
												
													
														|  | -										});
 |  | 
 | 
											
												
													
														|  | -									} else {
 |  | 
 | 
											
												
													
														|  | -										ElMessage("请检测图层表parameterset字段是否设置points");
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -								} else {
 |  | 
 | 
											
												
													
														|  | -									ElMessage("请检测图层表parameterset字段是否设置points");
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							case "PolygonImageMaterial": //图片材质
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							case "CrImageServerLayer": //地形服务(DEM)
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							case "DEM": //地形服务(DEM)
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							case "UrlTemplateImageryProvider": //加载URL模板服务
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							case "WebMapTileServiceImageryProvider": // WMTS地图服务
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							case "WebMapServiceImageryProvider": //WMS地图服务
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							case "ArcGisMapServerImageryProvider": // ArcGIS Online和Server的相关服务
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							case "TileMapServiceImageryProvider": // 2.5维度地图
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							case "Cesium3DTileset": //加载3DTileset地图服务--实景
 |  | 
 | 
											
												
													
														|  | -								if (window[_serviceId]) {
 |  | 
 | 
											
												
													
														|  | -									jt3dLeft._viewer.flyTo(window[_serviceId], {
 |  | 
 | 
											
												
													
														|  | -										offset: {
 |  | 
 | 
											
												
													
														|  | -											heading: Cesium.Math.toRadians(20.0), //方向
 |  | 
 | 
											
												
													
														|  | -											pitch: Cesium.Math.toRadians(-90), //倾斜角度
 |  | 
 | 
											
												
													
														|  | -											range: 1000
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -									});
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							case "Cesium3DTileset_BM": //加载3DTileset地图服务--白膜
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -							default:
 |  | 
 | 
											
												
													
														|  | -								break;
 |  | 
 | 
											
												
													
														|  | -						}
 |  | 
 | 
											
												
													
														|  | -					})
 |  | 
 | 
											
												
													
														|  | -				}
 |  | 
 | 
											
												
													
														|  | 
 |  | +			handleClick(data) {
 | 
											
												
													
														|  | 
 |  | +				this.$parent.$parent.$refs.refLayer.mark = "serviceLeft";
 | 
											
												
													
														|  | 
 |  | +				this.$parent.$parent.$refs.refLayer.inittree = this.inittree;
 | 
											
												
													
														|  | 
 |  | +				this.$parent.$parent.$refs.refLayer.setLayersLocation(jt3dLeft, data);
 | 
											
												
													
														|  |  			},
 |  |  			},
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  			/**
 |  |  			/**
 | 
											
												
													
														|  | -			 * el-slider 值改变时触发(使用鼠标拖曳时,只在松开鼠标后触发)
 |  | 
 | 
											
												
													
														|  | 
 |  | +			 * el-slider 值改变时触发
 | 
											
												
													
														|  |  			 * 地图服务的透明度调整
 |  |  			 * 地图服务的透明度调整
 | 
											
												
													
														|  |  			 */
 |  |  			 */
 | 
											
												
													
														|  |  			handleSliderChange($event, data) {
 |  |  			handleSliderChange($event, data) {
 | 
											
												
													
														|  | -				let _serviceId = "serviceLeft_" + data.layercode + data.layerorder;
 |  | 
 | 
											
												
													
														|  | -				if (data.loadtype === "Cesium3DTileset") {
 |  | 
 | 
											
												
													
														|  | -					//设置实景透明度
 |  | 
 | 
											
												
													
														|  | -					jt3dLeft.layer.set3DTileStyle({
 |  | 
 | 
											
												
													
														|  | -						serviceId: _serviceId,
 |  | 
 | 
											
												
													
														|  | -						alpha: $event,
 |  | 
 | 
											
												
													
														|  | -					});
 |  | 
 | 
											
												
													
														|  | -				} else if (data.loadtype === "CrImageServerLayer") {
 |  | 
 | 
											
												
													
														|  | -					let floatLayer = window[_serviceId];
 |  | 
 | 
											
												
													
														|  | -					floatLayer.setOpacity($event)
 |  | 
 | 
											
												
													
														|  | -				} else if (data.loadtype === "PolygonImageMaterial") {
 |  | 
 | 
											
												
													
														|  | -					//设置透明度
 |  | 
 | 
											
												
													
														|  | -					jt3dLeft.layer.setPolygonImageMaterial({
 |  | 
 | 
											
												
													
														|  | -						serviceId: _serviceId,
 |  | 
 | 
											
												
													
														|  | -						alpha: $event,
 |  | 
 | 
											
												
													
														|  | -					});
 |  | 
 | 
											
												
													
														|  | -				} else if (data.loadtype === "entitiesGltf") {
 |  | 
 | 
											
												
													
														|  | -					//设置透明度
 |  | 
 | 
											
												
													
														|  | -					jt3dLeft.layer.setModelStyle({
 |  | 
 | 
											
												
													
														|  | -						serviceId: _serviceId,
 |  | 
 | 
											
												
													
														|  | -						alpha: $event,
 |  | 
 | 
											
												
													
														|  | -					});
 |  | 
 | 
											
												
													
														|  | -				} else {
 |  | 
 | 
											
												
													
														|  | -					jt3dLeft.layer.setLayersStyle({
 |  | 
 | 
											
												
													
														|  | -						serviceId: _serviceId,
 |  | 
 | 
											
												
													
														|  | -						alpha: $event,
 |  | 
 | 
											
												
													
														|  | -					});
 |  | 
 | 
											
												
													
														|  | -				}
 |  | 
 | 
											
												
													
														|  | 
 |  | +				this.$parent.$parent.$refs.refLayer.mark = "serviceLeft";
 | 
											
												
													
														|  | 
 |  | +				this.$parent.$parent.$refs.refLayer.inittree = this.inittree;
 | 
											
												
													
														|  | 
 |  | +				this.$parent.$parent.$refs.refLayer.setLayersAlpha(jt3dLeft, $event, data)
 | 
											
												
													
														|  |  			},
 |  |  			},
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  			/**
 |  |  			/**
 | 
											
												
													
														|  |  			 * el-checkbox 当绑定值变化时触发的事件
 |  |  			 * el-checkbox 当绑定值变化时触发的事件
 | 
											
												
													
														|  |  			 * @param {Object} checked 复选框状态
 |  |  			 * @param {Object} checked 复选框状态
 | 
											
										
											
												
													
														|  | @@ -205,10 +88,12 @@
 | 
											
												
													
														|  |  			 * @param {Object} node TreeNode 的 node 属性
 |  |  			 * @param {Object} node TreeNode 的 node 属性
 | 
											
												
													
														|  |  			 */
 |  |  			 */
 | 
											
												
													
														|  |  			handleCheckBoxChange(checked, data, node) {
 |  |  			handleCheckBoxChange(checked, data, node) {
 | 
											
												
													
														|  | 
 |  | +				this.$parent.$parent.$refs.refLayer.mark = "serviceLeft";
 | 
											
												
													
														|  | 
 |  | +				this.$parent.$parent.$refs.refLayer.inittree = this.inittree;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  				let _node = this.$refs.treeRef.getNode(data);
 |  |  				let _node = this.$refs.treeRef.getNode(data);
 | 
											
												
													
														|  |  				if (_node.isLeaf) {
 |  |  				if (_node.isLeaf) {
 | 
											
												
													
														|  | -					this.setLayerControl(data, checked);
 |  | 
 | 
											
												
													
														|  | 
 |  | +					this.$parent.$parent.$refs.refLayer.setLayersControl(jt3dLeft, data, checked);
 | 
											
												
													
														|  |  					this.$refs.treeRef.setChecked(_node, checked); //是否设置子节点,默认为false,利用tree组件渲染后带有的isLeaf(是否为叶子节点)属性,如果为叶子节点就选中。利用tree的API就实现了正确的回显效果	
 |  |  					this.$refs.treeRef.setChecked(_node, checked); //是否设置子节点,默认为false,利用tree组件渲染后带有的isLeaf(是否为叶子节点)属性,如果为叶子节点就选中。利用tree的API就实现了正确的回显效果	
 | 
											
												
													
														|  |  				}
 |  |  				}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -223,590 +108,13 @@
 | 
											
												
													
														|  |  			childNodesChange(node, checked) {
 |  |  			childNodesChange(node, checked) {
 | 
											
												
													
														|  |  				let _self = this;
 |  |  				let _self = this;
 | 
											
												
													
														|  |  				node.childNodes.forEach(item => {
 |  |  				node.childNodes.forEach(item => {
 | 
											
												
													
														|  | -					_self.setLayerControl(item.data, checked);
 |  | 
 | 
											
												
													
														|  | 
 |  | +					_self.$parent.$parent.$refs.refLayer.setLayersControl(jt3dLeft, item.data, checked);
 | 
											
												
													
														|  |  					_self.$refs.treeRef.setChecked(item, checked);
 |  |  					_self.$refs.treeRef.setChecked(item, checked);
 | 
											
												
													
														|  |  					_self.childNodesChange(item, checked);
 |  |  					_self.childNodesChange(item, checked);
 | 
											
												
													
														|  |  				});
 |  |  				});
 | 
											
												
													
														|  |  			},
 |  |  			},
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  			/**
 |  |  			/**
 | 
											
												
													
														|  | -			 * 控制地图服务的显示及隐藏
 |  | 
 | 
											
												
													
														|  | -			 * @param {Object} data 传递给 data 属性的数组中该节点所对应的对象
 |  | 
 | 
											
												
													
														|  | -			 * @param {Object} checked 节点本身是否被选中
 |  | 
 | 
											
												
													
														|  | -			 */
 |  | 
 | 
											
												
													
														|  | -			async setLayerControl(data, checked) {
 |  | 
 | 
											
												
													
														|  | -				console.log('操作', '图层控制')
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -				let _self = this;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -				let _serviceId = "serviceLeft_" + data.layercode + data.layerorder;
 |  | 
 | 
											
												
													
														|  | -				let layername = data.layername;
 |  | 
 | 
											
												
													
														|  | -				let layertype = data.layertype;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -				//透明度
 |  | 
 | 
											
												
													
														|  | -				let _opacity = null;
 |  | 
 | 
											
												
													
														|  | -				if (data.opacity == null) {
 |  | 
 | 
											
												
													
														|  | -					_opacity = 1;
 |  | 
 | 
											
												
													
														|  | -				} else {
 |  | 
 | 
											
												
													
														|  | -					_opacity = Number(data.opacity);
 |  | 
 | 
											
												
													
														|  | -					data.opacity = _opacity;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -					if (_opacity == 0) {
 |  | 
 | 
											
												
													
														|  | -						_opacity = 1;
 |  | 
 | 
											
												
													
														|  | -					}
 |  | 
 | 
											
												
													
														|  | -				}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -				//参数集
 |  | 
 | 
											
												
													
														|  | -				let parameterset = data.parameterset;
 |  | 
 | 
											
												
													
														|  | -				if (data.parameterset instanceof Object) {
 |  | 
 | 
											
												
													
														|  | -					parameterset = data.parameterset;
 |  | 
 | 
											
												
													
														|  | -				} else if (data.parameterset != "" && data.parameterset != null && data.parameterset != undefined) {
 |  | 
 | 
											
												
													
														|  | -					parameterset = JSON.parse(data.parameterset);
 |  | 
 | 
											
												
													
														|  | -				}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -				//在显示的图层中,如果图层配置可以查询,则进行查询
 |  | 
 | 
											
												
													
														|  | -				if (layertype === '矢量面' && data.querytable) {
 |  | 
 | 
											
												
													
														|  | -					if (checked) {
 |  | 
 | 
											
												
													
														|  | -						if (store.queryMapTables.indexOf(data.querytable) === -1) {
 |  | 
 | 
											
												
													
														|  | -							store.queryMapTables.push(data.querytable);
 |  | 
 | 
											
												
													
														|  | -						}
 |  | 
 | 
											
												
													
														|  | -					} else {
 |  | 
 | 
											
												
													
														|  | -						//过滤
 |  | 
 | 
											
												
													
														|  | -						store.queryMapTables = store.queryMapTables.filter(tableName => {
 |  | 
 | 
											
												
													
														|  | -							return tableName !== data.querytable
 |  | 
 | 
											
												
													
														|  | -						})
 |  | 
 | 
											
												
													
														|  | -					}
 |  | 
 | 
											
												
													
														|  | -				}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -				await new Promise((resolve, reject) => {
 |  | 
 | 
											
												
													
														|  | -					switch (data.loadtype) {
 |  | 
 | 
											
												
													
														|  | -						case "GeoJsonPoint": //GeoJsonPoint
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								//设置参数
 |  | 
 | 
											
												
													
														|  | -								let _options = {
 |  | 
 | 
											
												
													
														|  | -									id: _serviceId,
 |  | 
 | 
											
												
													
														|  | -									url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.billboard instanceof Object) {
 |  | 
 | 
											
												
													
														|  | -										let billboard = parameterset.billboard;
 |  | 
 | 
											
												
													
														|  | -										_options.billboard = billboard;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.label instanceof Object) {
 |  | 
 | 
											
												
													
														|  | -										let label = parameterset.label;
 |  | 
 | 
											
												
													
														|  | -										_options.label = label;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.addBillboardByGeoJson(_options, function(serviceId) {
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.removeDataSources({
 |  | 
 | 
											
												
													
														|  | -									serviceId: _serviceId,
 |  | 
 | 
											
												
													
														|  | -								}).then(res => {
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "GeoJsonPolyline": //GeoJsonPolyline
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								//设置参数
 |  | 
 | 
											
												
													
														|  | -								let _options = {
 |  | 
 | 
											
												
													
														|  | -									id: _serviceId,
 |  | 
 | 
											
												
													
														|  | -									url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.clampToGround) { //是否贴地
 |  | 
 | 
											
												
													
														|  | -										_options.clampToGround = parameterset.clampToGround;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.isImageAlpha) { //是否采用图片颜色
 |  | 
 | 
											
												
													
														|  | -										_options.isImageAlpha = parameterset.isImageAlpha;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.imgUrl) { //精灵线图片
 |  | 
 | 
											
												
													
														|  | -										_options.imgUrl = parameterset.imgUrl;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.color) { //指定线的颜色
 |  | 
 | 
											
												
													
														|  | -										_options.color = parameterset.color;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.width) { //线宽
 |  | 
 | 
											
												
													
														|  | -										_options.width = parameterset.width;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.duration) { //持续时间 毫秒,越小越快
 |  | 
 | 
											
												
													
														|  | -										_options.duration = parameterset.duration;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.count) { //重复次数
 |  | 
 | 
											
												
													
														|  | -										_options.count = parameterset.count;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset
 |  | 
 | 
											
												
													
														|  | -										.direction) { //direction=vertical 纵,order='-'(由下到上) , '+"(由上到下)
 |  | 
 | 
											
												
													
														|  | -										_options.direction = parameterset.direction;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset
 |  | 
 | 
											
												
													
														|  | -										.order) { //direction=horizontal 横,order='-'(顺时针) , '+'(逆时针)
 |  | 
 | 
											
												
													
														|  | -										_options.order = parameterset.order;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.addPolylineByGeoJson(_options, function(serviceId) {
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.removeDataSources({
 |  | 
 | 
											
												
													
														|  | -									serviceId: _serviceId,
 |  | 
 | 
											
												
													
														|  | -								}).then(res => {
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "entitiesGltf": //gltf/glb
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								//设置参数
 |  | 
 | 
											
												
													
														|  | -								let _options = {
 |  | 
 | 
											
												
													
														|  | -									id: _serviceId,
 |  | 
 | 
											
												
													
														|  | -									url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -									points: [],
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.points) { //模型位置
 |  | 
 | 
											
												
													
														|  | -										_options.points = parameterset.points;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.minimumPixelSize) { //模型最小刻度
 |  | 
 | 
											
												
													
														|  | -											_options.minimumPixelSize = parameterset.minimumPixelSize;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.maximumScale) { //模型的最大比例尺大小,设置模型最大放大大小
 |  | 
 | 
											
												
													
														|  | -											_options.maximumScale = parameterset.maximumScale;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.silhouetteColor) { //模型轮廓颜色
 |  | 
 | 
											
												
													
														|  | -											_options.silhouetteColor = parameterset.silhouetteColor;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.alpha) { //模型透明度
 |  | 
 | 
											
												
													
														|  | -											_options.alpha = parameterset.alpha;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.heading) { //以弧度为单位的航向分量
 |  | 
 | 
											
												
													
														|  | -											_options.heading = parameterset.heading;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.pitch) { //以弧度为单位的航向分量
 |  | 
 | 
											
												
													
														|  | -											_options.pitch = parameterset.pitch;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.roll) { //以弧度为单位的滚动分量
 |  | 
 | 
											
												
													
														|  | -											_options.roll = parameterset.roll;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -										jt3dLeft.layer.addEntitiesGltf(_options, function(serviceId) {
 |  | 
 | 
											
												
													
														|  | -											// let flyToEntity = jt3dLeft.LocateUtil.flyToEntityByPoints([
 |  | 
 | 
											
												
													
														|  | -											// 	parameterset.points,
 |  | 
 | 
											
												
													
														|  | -											// ], 'point');
 |  | 
 | 
											
												
													
														|  | -										});
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -									} else {
 |  | 
 | 
											
												
													
														|  | -										ElMessage("请检测图层表parameterset字段是否设置points");
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -								} else {
 |  | 
 | 
											
												
													
														|  | -									ElMessage("请检测图层表parameterset字段是否设置points");
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.removeEntity({
 |  | 
 | 
											
												
													
														|  | -									serviceId: _serviceId,
 |  | 
 | 
											
												
													
														|  | -								}).then(res => {
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "PolygonImageMaterial": //图片材质
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.points) {
 |  | 
 | 
											
												
													
														|  | -										jt3dLeft.layer.addPolygonImageMaterial({
 |  | 
 | 
											
												
													
														|  | -											id: _serviceId,
 |  | 
 | 
											
												
													
														|  | -											points: parameterset.points,
 |  | 
 | 
											
												
													
														|  | -											url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -											alpha: _opacity
 |  | 
 | 
											
												
													
														|  | -										}, function(serviceId) {
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -										});
 |  | 
 | 
											
												
													
														|  | -									} else {
 |  | 
 | 
											
												
													
														|  | -										ElMessage("请检测图层表parameterset字段是否设置points");
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -								} else {
 |  | 
 | 
											
												
													
														|  | -									ElMessage("请检测图层表parameterset字段是否设置points");
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.removeEntity({
 |  | 
 | 
											
												
													
														|  | -									serviceId: _serviceId,
 |  | 
 | 
											
												
													
														|  | -								}).then(res => {
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "CrImageServerLayer": //贴地所有地形、模型的规划图、网格地图
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								let floatLayer = new this.jt3dSDK.CrImageServerLayer({
 |  | 
 | 
											
												
													
														|  | -									viewer: window["viewer"],
 |  | 
 | 
											
												
													
														|  | -									url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -									opacity: _opacity,
 |  | 
 | 
											
												
													
														|  | -									show: true
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -								window[_serviceId] = floatLayer;
 |  | 
 | 
											
												
													
														|  | -								//添加网格地图
 |  | 
 | 
											
												
													
														|  | -								// window[_serviceId].show();
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								window[_serviceId].hide();
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "DEM": //地形服务(DEM)
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								//设置参数
 |  | 
 | 
											
												
													
														|  | -								let _options = {
 |  | 
 | 
											
												
													
														|  | -									url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -								if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.terrainExaggeration) { //地形夸张系数
 |  | 
 | 
											
												
													
														|  | -										_options.terrainExaggeration = parameterset.terrainExaggeration;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.addTerrain(_options);
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.removeTerrain().then(res => {
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "UrlTemplateImageryProvider": //加载URL模板服务
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								//设置参数
 |  | 
 | 
											
												
													
														|  | -								let _options = {
 |  | 
 | 
											
												
													
														|  | -									id: _serviceId,
 |  | 
 | 
											
												
													
														|  | -									url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -									alpha: _opacity
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -								if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.CRS) { //坐标系
 |  | 
 | 
											
												
													
														|  | -										_options.CRS = parameterset.CRS;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.minimumLevel) { //最小层级
 |  | 
 | 
											
												
													
														|  | -										_options.minimumLevel = parameterset.minimumLevel;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.maximumLevel) { //最大层级
 |  | 
 | 
											
												
													
														|  | -										_options.maximumLevel = parameterset.maximumLevel;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								//加载服务
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.addUrlTemplateImagery(_options, function(serviceId) {
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -									//重置图层顺序
 |  | 
 | 
											
												
													
														|  | -									_self.setLayerNumber(serviceId)
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.removeImageryProvider({
 |  | 
 | 
											
												
													
														|  | -									serviceId: _serviceId
 |  | 
 | 
											
												
													
														|  | -								}).then(res => {
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "WebMapTileServiceImageryProvider": // WMTS地图服务
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								//设置参数
 |  | 
 | 
											
												
													
														|  | -								let _options = {
 |  | 
 | 
											
												
													
														|  | -									id: _serviceId,
 |  | 
 | 
											
												
													
														|  | -									url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -									layers: 'cia',
 |  | 
 | 
											
												
													
														|  | -									style: 'default',
 |  | 
 | 
											
												
													
														|  | -									tileMatrixSetID: 'w',
 |  | 
 | 
											
												
													
														|  | -									alpha: _opacity
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -								if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.layers) { //WMTS请求的层名
 |  | 
 | 
											
												
													
														|  | -										_options.layers = parameterset.layers;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.style) { //WMTS请求的样式名
 |  | 
 | 
											
												
													
														|  | -											_options.style = parameterset.style;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -											if (parameterset.tileMatrixSetID) { //用于WMTS请求的TileMatrixSet的标识符
 |  | 
 | 
											
												
													
														|  | -												_options.tileMatrixSetID = parameterset.tileMatrixSetID;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -												if (parameterset.minimumLevel) { //最小层级
 |  | 
 | 
											
												
													
														|  | -													_options.minimumLevel = parameterset.minimumLevel;
 |  | 
 | 
											
												
													
														|  | -												}
 |  | 
 | 
											
												
													
														|  | -												if (parameterset.maximumLevel) { //最大层级
 |  | 
 | 
											
												
													
														|  | -													_options.maximumLevel = parameterset.maximumLevel;
 |  | 
 | 
											
												
													
														|  | -												}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -												jt3dLeft.layer.addWebMapTileService(_options, function(serviceId) {
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -													//重置图层顺序
 |  | 
 | 
											
												
													
														|  | -													_self.setLayerNumber(serviceId)
 |  | 
 | 
											
												
													
														|  | -												});
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -											} else {
 |  | 
 | 
											
												
													
														|  | -												ElMessage("请检测图层表parameterset字段是否设置tileMatrixSetID");
 |  | 
 | 
											
												
													
														|  | -											}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -										} else {
 |  | 
 | 
											
												
													
														|  | -											ElMessage("请检测图层表parameterset字段是否设置style");
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -									} else {
 |  | 
 | 
											
												
													
														|  | -										ElMessage("请检测图层表parameterset字段是否设置layers");
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -								} else {
 |  | 
 | 
											
												
													
														|  | -									ElMessage("请检测图层表parameterset字段是否设置layers,style,tileMatrixSetID");
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.removeImageryProvider({
 |  | 
 | 
											
												
													
														|  | -									serviceId: _serviceId
 |  | 
 | 
											
												
													
														|  | -								}).then(res => {
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "WebMapServiceImageryProvider": //WMS地图服务
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								//设置参数
 |  | 
 | 
											
												
													
														|  | -								let _options = {
 |  | 
 | 
											
												
													
														|  | -									id: _serviceId,
 |  | 
 | 
											
												
													
														|  | -									url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -									layers: "SDYTMP:map_zrzy_water_polylon",
 |  | 
 | 
											
												
													
														|  | -									alpha: _opacity
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -								if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.layers) { //WMTS请求的层名
 |  | 
 | 
											
												
													
														|  | -										_options.layers = parameterset.layers;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.minimumLevel) { //最小层级
 |  | 
 | 
											
												
													
														|  | -											_options.minimumLevel = parameterset.minimumLevel;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.maximumLevel) { //最大层级
 |  | 
 | 
											
												
													
														|  | -											_options.maximumLevel = parameterset.maximumLevel;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -										jt3dLeft.layer.addWebMapService(_options, function(serviceId) {
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -											//重置图层顺序
 |  | 
 | 
											
												
													
														|  | -											_self.setLayerNumber(serviceId)
 |  | 
 | 
											
												
													
														|  | -										});
 |  | 
 | 
											
												
													
														|  | -									} else {
 |  | 
 | 
											
												
													
														|  | -										ElMessage("请检测图层表parameterset字段是否设置layers");
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -								} else {
 |  | 
 | 
											
												
													
														|  | -									ElMessage("请检测图层表parameterset字段是否设置layers");
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.removeImageryProvider({
 |  | 
 | 
											
												
													
														|  | -									serviceId: _serviceId
 |  | 
 | 
											
												
													
														|  | -								}).then(res => {
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "ArcGisMapServerImageryProvider": // ArcGIS Online和Server的相关服务
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								//设置参数
 |  | 
 | 
											
												
													
														|  | -								let _options = {
 |  | 
 | 
											
												
													
														|  | -									id: _serviceId,
 |  | 
 | 
											
												
													
														|  | -									url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -									alpha: _opacity
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -								if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.layers) {
 |  | 
 | 
											
												
													
														|  | -										_options.layers = parameterset.layers;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								//加载服务
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.addArcGisMapServer(_options, function(serviceId) {
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -									//重置图层顺序
 |  | 
 | 
											
												
													
														|  | -									_self.setLayerNumber(serviceId)
 |  | 
 | 
											
												
													
														|  | -								})
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.removeImageryProvider({
 |  | 
 | 
											
												
													
														|  | -									serviceId: _serviceId
 |  | 
 | 
											
												
													
														|  | -								}).then(res => {
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "TileMapServiceImageryProvider": // 2.5维度地图
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								//设置参数
 |  | 
 | 
											
												
													
														|  | -								let _options = {
 |  | 
 | 
											
												
													
														|  | -									id: _serviceId,
 |  | 
 | 
											
												
													
														|  | -									url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -									alpha: _opacity
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -								if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.minimumLevel) { //最小层级
 |  | 
 | 
											
												
													
														|  | -										_options.minimumLevel = parameterset.minimumLevel;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset.maximumLevel) { //最大层级
 |  | 
 | 
											
												
													
														|  | -										_options.maximumLevel = parameterset.maximumLevel;
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.addTileMapServiceImagery(_options, function(serviceId) {
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -									//重置图层顺序
 |  | 
 | 
											
												
													
														|  | -									_self.setLayerNumber(serviceId)
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								jt3dLeft.layer.removeImageryProvider({
 |  | 
 | 
											
												
													
														|  | -									serviceId: _serviceId
 |  | 
 | 
											
												
													
														|  | -								}).then(res => {
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								});
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "Cesium3DTileset": //加载3DTileset地图服务--实景
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								if (window[_serviceId]) {
 |  | 
 | 
											
												
													
														|  | -									window[_serviceId].show = true;
 |  | 
 | 
											
												
													
														|  | -								} else {
 |  | 
 | 
											
												
													
														|  | -									//设置参数
 |  | 
 | 
											
												
													
														|  | -									let _options = {
 |  | 
 | 
											
												
													
														|  | -										id: _serviceId,
 |  | 
 | 
											
												
													
														|  | -										url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.height) {
 |  | 
 | 
											
												
													
														|  | -											_options.height = parameterset.height;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.alpha) {
 |  | 
 | 
											
												
													
														|  | -											_options.alpha = parameterset.alpha;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									//加载实景
 |  | 
 | 
											
												
													
														|  | -									jt3dLeft.layer.addCesium3DTileset(_options, function(serviceId) {
 |  | 
 | 
											
												
													
														|  | -										window[_serviceId].show = true;
 |  | 
 | 
											
												
													
														|  | -									});
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								if (window[_serviceId]) {
 |  | 
 | 
											
												
													
														|  | -									//3DTileset数据量比较大,会报很多cesium错误
 |  | 
 | 
											
												
													
														|  | -									// jt3dLeft.layer.removeScenePrimitives({
 |  | 
 | 
											
												
													
														|  | -									// 	serviceId: _serviceId
 |  | 
 | 
											
												
													
														|  | -									// }).then(res => {
 |  | 
 | 
											
												
													
														|  | -									// 	data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -									// });
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -									window[_serviceId].show = false;
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						case "Cesium3DTileset_BM": //加载3DTileset地图服务--白膜
 |  | 
 | 
											
												
													
														|  | -							if (checked) {
 |  | 
 | 
											
												
													
														|  | -								data.isinit = '1';
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -								if (window[_serviceId]) {
 |  | 
 | 
											
												
													
														|  | -									window[_serviceId].show = true;
 |  | 
 | 
											
												
													
														|  | -								} else {
 |  | 
 | 
											
												
													
														|  | -									//设置参数
 |  | 
 | 
											
												
													
														|  | -									let _options = {
 |  | 
 | 
											
												
													
														|  | -										id: _serviceId,
 |  | 
 | 
											
												
													
														|  | -										url: data.datasource,
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -									if (parameterset) {
 |  | 
 | 
											
												
													
														|  | -										if (parameterset.color) {
 |  | 
 | 
											
												
													
														|  | -											_options.color = parameterset.color;
 |  | 
 | 
											
												
													
														|  | -										}
 |  | 
 | 
											
												
													
														|  | -									}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -									//加载白膜
 |  | 
 | 
											
												
													
														|  | -									jt3dLeft.layer.addCesium3DTilesetBm(_options, function(serviceId) {
 |  | 
 | 
											
												
													
														|  | -										window[_serviceId].show = true;
 |  | 
 | 
											
												
													
														|  | -									});
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								if (window[_serviceId]) {
 |  | 
 | 
											
												
													
														|  | -									// jt3dLeft.layer.removeScenePrimitives({
 |  | 
 | 
											
												
													
														|  | -									// 	serviceId: _serviceId
 |  | 
 | 
											
												
													
														|  | -									// }).then(res => {
 |  | 
 | 
											
												
													
														|  | -									// 	data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -									// });
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -									window[_serviceId].show = false;
 |  | 
 | 
											
												
													
														|  | -									data.isinit = '0';
 |  | 
 | 
											
												
													
														|  | -								}
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -						default:
 |  | 
 | 
											
												
													
														|  | -							break;
 |  | 
 | 
											
												
													
														|  | -					}
 |  | 
 | 
											
												
													
														|  | -				})
 |  | 
 | 
											
												
													
														|  | -			},
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -			/**
 |  | 
 | 
											
												
													
														|  | -			 * 设置图层顺序
 |  | 
 | 
											
												
													
														|  | -			 * @param {Object} options
 |  | 
 | 
											
												
													
														|  | -			 */
 |  | 
 | 
											
												
													
														|  | -			setLayerNumber(serviceId) {
 |  | 
 | 
											
												
													
														|  | -				var imageryLayers = jt3dLeft._viewer.imageryLayers;
 |  | 
 | 
											
												
													
														|  | -				if (store.markID) {
 |  | 
 | 
											
												
													
														|  | -					console.log('标注id', store.markID)
 |  | 
 | 
											
												
													
														|  | -					imageryLayers.raiseToTop(window[store.markID]); //标注层置顶
 |  | 
 | 
											
												
													
														|  | -				}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -				imageryLayers.lowerToBottom(window[serviceId]); //设置图层初始顺序
 |  | 
 | 
											
												
													
														|  | -				imageryLayers.raise(window[serviceId]);
 |  | 
 | 
											
												
													
														|  | -				imageryLayers.raise(window[serviceId]);
 |  | 
 | 
											
												
													
														|  | -				this.inittree.forEach(res => {
 |  | 
 | 
											
												
													
														|  | -					if (res.layercode && res.layerorder) {
 |  | 
 | 
											
												
													
														|  | -						let id = "service_" + res.layercode + res.layerorder
 |  | 
 | 
											
												
													
														|  | -						let startid = Number(res.layercode + res.layerorder)
 |  | 
 | 
											
												
													
														|  | -						let strid = Number(serviceId.substring(8))
 |  | 
 | 
											
												
													
														|  | -						if (imageryLayers.contains(window[id])) {
 |  | 
 | 
											
												
													
														|  | -							if (startid < strid) {
 |  | 
 | 
											
												
													
														|  | -								imageryLayers.raise(window[serviceId])
 |  | 
 | 
											
												
													
														|  | -							} else {
 |  | 
 | 
											
												
													
														|  | -								// imageryLayers.raiseToTop(window[store.markID]);
 |  | 
 | 
											
												
													
														|  | -								// break;
 |  | 
 | 
											
												
													
														|  | -							}
 |  | 
 | 
											
												
													
														|  | -						}
 |  | 
 | 
											
												
													
														|  | -					}
 |  | 
 | 
											
												
													
														|  | -				})
 |  | 
 | 
											
												
													
														|  | -			},
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -			/**
 |  | 
 | 
											
												
													
														|  |  			 * 分屏对比初始化
 |  |  			 * 分屏对比初始化
 | 
											
												
													
														|  |  			 */
 |  |  			 */
 | 
											
												
													
														|  |  			initSplitScreen() {
 |  |  			initSplitScreen() {
 | 
											
										
											
												
													
														|  | @@ -899,7 +207,7 @@
 | 
											
												
													
														|  |  				jt3dLeft.PolylineObject = new this.jt3dSDK.PolylineObject(jt3dLeft._viewer);
 |  |  				jt3dLeft.PolylineObject = new this.jt3dSDK.PolylineObject(jt3dLeft._viewer);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  				//比例尺、指南针
 |  |  				//比例尺、指南针
 | 
											
												
													
														|  | -				this.$parent.$parent.$refs.queryword.initNavigation(jt3dLeft);
 |  | 
 | 
											
												
													
														|  | 
 |  | +				this.$parent.$parent.$refs.refNavigation.initNavigation(jt3dLeft);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  				//设置默认视图
 |  |  				//设置默认视图
 | 
											
												
													
														|  |  				this.$parent.$parent.$refs.refMap3d.setView(jt3dLeft);
 |  |  				this.$parent.$parent.$refs.refMap3d.setView(jt3dLeft);
 | 
											
										
											
												
													
														|  | @@ -979,6 +287,7 @@
 | 
											
												
													
														|  |  			 * 加载图层控制树
 |  |  			 * 加载图层控制树
 | 
											
												
													
														|  |  			 */
 |  |  			 */
 | 
											
												
													
														|  |  			initTree() {
 |  |  			initTree() {
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  				//在这获取图层列表
 |  |  				//在这获取图层列表
 | 
											
												
													
														|  |  				let _this = this
 |  |  				let _this = this
 | 
											
												
													
														|  |  				//权限查询条件语句
 |  |  				//权限查询条件语句
 | 
											
										
											
												
													
														|  | @@ -1008,7 +317,7 @@
 | 
											
												
													
														|  |  							// 复选框默认选中
 |  |  							// 复选框默认选中
 | 
											
												
													
														|  |  							if (res.isinit === '1') {
 |  |  							if (res.isinit === '1') {
 | 
											
												
													
														|  |  								_this.checkedkeys.push(res.id);
 |  |  								_this.checkedkeys.push(res.id);
 | 
											
												
													
														|  | -								_this.setLayerControl(res, true);
 |  | 
 | 
											
												
													
														|  | 
 |  | +								_this.$parent.$parent.$refs.refLayer.setLayersControl(jt3dLeft, res, true);
 | 
											
												
													
														|  |  							}
 |  |  							}
 | 
											
												
													
														|  |  						})
 |  |  						})
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -1026,10 +335,16 @@
 | 
											
												
													
														|  |  				}).then(res => {
 |  |  				}).then(res => {
 | 
											
												
													
														|  |  					console.log('所有图层', res.data)
 |  |  					console.log('所有图层', res.data)
 | 
											
												
													
														|  |  					//初始图层列表
 |  |  					//初始图层列表
 | 
											
												
													
														|  | -					this.inittree = res.data
 |  | 
 | 
											
												
													
														|  | 
 |  | +					this.inittree = res.data;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +					this.$parent.$parent.$refs.refLayer.mark = "serviceLeft";
 | 
											
												
													
														|  | 
 |  | +					this.$parent.$parent.$refs.refLayer.inittree = this.inittree;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  					init(res.data).then(item => {
 |  |  					init(res.data).then(item => {
 | 
											
												
													
														|  |  						console.log('图层控制树列表', _this.treeData)
 |  |  						console.log('图层控制树列表', _this.treeData)
 | 
											
												
													
														|  | -						
 |  | 
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  						//复选框初始化选中
 |  |  						//复选框初始化选中
 | 
											
												
													
														|  |  						_this.$nextTick(() => {
 |  |  						_this.$nextTick(() => {
 | 
											
												
													
														|  |  							_this.$refs.treeRef.setCheckedKeys(_this.checkedkeys, true);
 |  |  							_this.$refs.treeRef.setCheckedKeys(_this.checkedkeys, true);
 |