|  | @ -38,20 +38,18 @@ | 
			
		
	
		
		
			
				
					|  |  |       </div> |  |  |       </div> | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |       <div class="div_data"> |  |  |       <div class="div_data"> | 
			
		
	
		
		
			
				
					
					|  |  |         <div class="div_search"> |  |  |         <div @click="handleSearch" | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |           <el-input size="mini" |  |  |              class="div_search"> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |                     @focus="handleSearch" |  |  |           <div class="div_search_left"> | 
			
				
				
			
		
	
		
		
			
				
					|  |  |                     WarningColor='warning' |  |  |  | 
			
		
	
		
		
			
				
					|  |  |                     placeholder="请输入姓名"> |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					|  |  |             <i slot="prefix" |  |  |             <i slot="prefix" | 
			
		
	
		
		
			
				
					|  |  |                class="icon"> |  |  |                class="icon"> | 
			
		
	
		
		
			
				
					|  |  |               <img src="../../../../assets/img/modules/visual/sousuo.png" |  |  |               <img src="../../../../assets/img/modules/visual/sousuo.png" | 
			
		
	
		
		
			
				
					|  |  |                    alt /> |  |  |                    alt /> | 
			
		
	
		
		
			
				
					|  |  |             </i> |  |  |             </i> | 
			
		
	
		
		
			
				
					
					|  |  |           </el-input> |  |  |             <span>请输入姓名</span> | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |           </div> | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |           <div class="btn" |  |  |           <div class="btn">搜索</div> | 
			
				
				
			
		
	
		
		
			
				
					|  |  |                @click="handleSearch">搜索</div> |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         </div> |  |  |         </div> | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -291,11 +289,12 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     //下钻到下一级 type点击的类型:polygon 点击多边形(分为点击组织/小区)   search 点击搜索  people 点击详情 |  |  |     //下钻到下一级 type点击的类型:polygon 点击多边形(分为点击组织/小区)   search 点击搜索  people 点击详情 | 
			
		
	
		
		
			
				
					|  |  |     async toSubAgency (type, e, searchName) { |  |  |     async toSubAgency (type, e, searchName) { | 
			
		
	
		
		
			
				
					
					|  |  |       //点击小区neighborHood显示楼栋,点击非小区,进入下一级地图 |  |  |       console.log(e) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |       this.runNum++ |  |  |       this.runNum++ | 
			
		
	
		
		
			
				
					|  |  |       this.runAgencyArray.push(this.orgData) |  |  |       this.runAgencyArray.push(this.orgData) | 
			
		
	
		
		
			
				
					
					|  |  | 
 |  |  |       //点击小区neighborHood显示楼栋,点击非小区,进入下一级地图 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |       if (type === 'people') { |  |  |       if (type === 'people') { | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         this.orgLevel = 'people' |  |  |         this.orgLevel = 'people' | 
			
		
	
		
		
			
				
					|  |  |         this.selUserId = e |  |  |         this.selUserId = e | 
			
		
	
		
		
			
				
					|  |  |         this.orgId = '' |  |  |         this.orgId = '' | 
			
		
	
	
		
		
			
				
					|  | @ -307,6 +306,8 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  |         this.searchName = searchName |  |  |         this.searchName = searchName | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |       } else if (type === 'search') { |  |  |       } else if (type === 'search') { | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         this.orgLevel = 'search' |  |  |         this.orgLevel = 'search' | 
			
		
	
		
		
			
				
					|  |  |         this.orgId = '' |  |  |         this.orgId = '' | 
			
		
	
		
		
			
				
					|  |  |         this.orgData = { |  |  |         this.orgData = { | 
			
		
	
	
		
		
			
				
					|  | @ -320,7 +321,8 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |       } else { |  |  |       } else { | 
			
		
	
		
		
			
				
					|  |  |         this.subAgencyArray.forEach(item => { |  |  |         this.subAgencyArray.forEach(item => { | 
			
		
	
		
		
			
				
					
					|  |  |           if (item.id === e.selected[0].id_) { |  |  | 
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |           if (item.id === e.selected[0].values_.id) { | 
			
		
	
		
		
			
				
					|  |  |             this.orgId = item.id |  |  |             this.orgId = item.id | 
			
		
	
		
		
			
				
					|  |  |             this.orgLevel = item.level |  |  |             this.orgLevel = item.level | 
			
		
	
		
		
			
				
					|  |  |             this.orgData = item |  |  |             this.orgData = item | 
			
		
	
	
		
		
			
				
					|  | @ -338,6 +340,7 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  |         } else { |  |  |         } else { | 
			
		
	
		
		
			
				
					|  |  |           this.refreshMap(true) |  |  |           this.refreshMap(true) | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |       } |  |  |       } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -365,7 +368,6 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     //返回所选组织 |  |  |     //返回所选组织 | 
			
		
	
		
		
			
				
					|  |  |     handleClickAgency (index) { |  |  |     handleClickAgency (index) { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  |  | 
			
		
	
		
		
			
				
					|  |  |       const cutNum = this.runAgencyArray.length - index//要减去的长度 |  |  |       const cutNum = this.runAgencyArray.length - index//要减去的长度 | 
			
		
	
		
		
			
				
					|  |  |       this.runNum = this.runNum - cutNum |  |  |       this.runNum = this.runNum - cutNum | 
			
		
	
		
		
			
				
					|  |  |       this.orgData = this.runAgencyArray[index] |  |  |       this.orgData = this.runAgencyArray[index] | 
			
		
	
	
		
		
			
				
					|  | @ -379,10 +381,8 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |       if (this.orgLevel === 'people') { |  |  |       if (this.orgLevel === 'people') { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  |  | 
			
		
	
		
		
			
				
					|  |  |       } else if (this.orgLevel === 'search') { |  |  |       } else if (this.orgLevel === 'search') { | 
			
		
	
		
		
			
				
					|  |  |         this.$nextTick(() => { |  |  |         this.$nextTick(() => { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  |  | 
			
		
	
		
		
			
				
					|  |  |           this.$refs.ref_search.loadByName(this.searchName); |  |  |           this.$refs.ref_search.loadByName(this.searchName); | 
			
		
	
		
		
			
				
					|  |  |         }); |  |  |         }); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -430,7 +430,8 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     //加载当前园区的标注 |  |  |     //加载当前园区的标注 | 
			
		
	
		
		
			
				
					|  |  |     loadPolygon (subAgencyArray) { |  |  |     loadPolygon (subAgencyArray) { | 
			
		
	
		
		
			
				
					
					|  |  |       polygonSource.clear()//清空变电站标注 |  |  |       polygonSource.clear()//清空多边形标注 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |       iconSource.clear()//清空多边形标注 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |       let featureData = []//标注数据 |  |  |       let featureData = []//标注数据 | 
			
		
	
		
		
			
				
					|  |  |       if (subAgencyArray && subAgencyArray.length > 0) {//判断是否存在下级标注 |  |  |       if (subAgencyArray && subAgencyArray.length > 0) {//判断是否存在下级标注 | 
			
		
	
	
		
		
			
				
					|  | @ -473,9 +474,7 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  |             oneData.geometry.coordinates.push(polygonArray) |  |  |             oneData.geometry.coordinates.push(polygonArray) | 
			
		
	
		
		
			
				
					|  |  |             featureData.push(oneData) |  |  |             featureData.push(oneData) | 
			
		
	
		
		
			
				
					|  |  |           } |  |  |           } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  |  | 
			
		
	
		
		
			
				
					|  |  |         }); |  |  |         }); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  |  | 
			
		
	
		
		
			
				
					|  |  |       } |  |  |       } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |       if (featureData && featureData.length > 0) { |  |  |       if (featureData && featureData.length > 0) { | 
			
		
	
	
		
		
			
				
					|  | @ -489,6 +488,7 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         let iconFeatures = []; |  |  |         let iconFeatures = []; | 
			
		
	
		
		
			
				
					|  |  |         feature.forEach(oneIcon => { |  |  |         feature.forEach(oneIcon => { | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |           var extent = boundingExtent(oneIcon.getGeometry().getCoordinates()[0]); //获取一个坐标数组的边界,格式为[minx,miny,maxx,maxy] |  |  |           var extent = boundingExtent(oneIcon.getGeometry().getCoordinates()[0]); //获取一个坐标数组的边界,格式为[minx,miny,maxx,maxy] | 
			
		
	
		
		
			
				
					|  |  |           // var center = getCenter(extent);   //获取边界区域的中心位置 |  |  |           // var center = getCenter(extent);   //获取边界区域的中心位置 | 
			
		
	
		
		
			
				
					|  |  |           //添加标注 |  |  |           //添加标注 | 
			
		
	
	
		
		
			
				
					|  | @ -497,19 +497,17 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |           let oneArray = [x, y] |  |  |           let oneArray = [x, y] | 
			
		
	
		
		
			
				
					|  |  |           this.iconCoordinators.push(oneArray) |  |  |           this.iconCoordinators.push(oneArray) | 
			
		
	
		
		
			
				
					
					|  |  | 
 |  |  |           // debugger | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |           //视频监控样式 |  |  |           //视频监控样式 | 
			
		
	
		
		
			
				
					|  |  |           let oneCctv = new Feature({ |  |  |           let oneCctv = new Feature({ | 
			
		
	
		
		
			
				
					|  |  |             geometry: new Point([x, y]), |  |  |             geometry: new Point([x, y]), | 
			
		
	
		
		
			
				
					
					|  |  |             id: oneIcon.id, |  |  |             id: oneIcon.id_, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             properties: { |  |  |             properties: { | 
			
		
	
		
		
			
				
					|  |  |               type: "icon", |  |  |               type: "icon", | 
			
		
	
		
		
			
				
					
					|  |  |               id: oneIcon.id |  |  |               id: oneIcon.id_ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             } |  |  |             } | 
			
		
	
		
		
			
				
					|  |  |           }); |  |  |           }); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |           console.log(oneIcon.values_) |  |  |  | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  |  | 
			
		
	
		
		
			
				
					|  |  |           let iconStyle = new Style({ |  |  |           let iconStyle = new Style({ | 
			
		
	
		
		
			
				
					|  |  |             image: new Icon({ |  |  |             image: new Icon({ | 
			
		
	
		
		
			
				
					|  |  |               // anchor: [0.5, 0.5], |  |  |               // anchor: [0.5, 0.5], | 
			
		
	
	
		
		
			
				
					|  | @ -525,9 +523,7 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  |           iconFeatures.push(oneCctv); |  |  |           iconFeatures.push(oneCctv); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         }); |  |  |         }); | 
			
		
	
		
		
			
				
					|  |  |         console.log(iconFeatures) |  |  |  | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         iconSource.clear(); //清空cctyv标注 |  |  |  | 
			
		
	
		
		
			
				
					|  |  |         iconSource.addFeatures(iconFeatures); |  |  |         iconSource.addFeatures(iconFeatures); | 
			
		
	
		
		
			
				
					|  |  |       } |  |  |       } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -591,7 +587,7 @@ const vueGis = { | 
			
		
	
		
		
			
				
					|  |  |       }) |  |  |       }) | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |       map.on('singleclick', function (e) { |  |  |       map.on('singleclick', function (e) { | 
			
		
	
		
		
			
				
					
					|  |  |         console.log(e.coordinate) |  |  |         // console.log(e.coordinate) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |         // console.log(transform(e.coordinate, 'EPSG:3857', 'EPSG:4326')); |  |  |         // console.log(transform(e.coordinate, 'EPSG:3857', 'EPSG:4326')); | 
			
		
	
		
		
			
				
					|  |  |       }) |  |  |       }) | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -745,19 +741,7 @@ export default vueGis; | 
			
		
	
		
		
			
				
					|  |  | .ol-overlaycontainer-stopevent { |  |  | .ol-overlaycontainer-stopevent { | 
			
		
	
		
		
			
				
					|  |  |   display: none; |  |  |   display: none; | 
			
		
	
		
		
			
				
					|  |  | } |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  | .el-input__inner[WarningColor="warning"] { |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					|  |  |   background-color: #011168; |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   border-radius: 4px 0 0 4px; |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   height: 56px; |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   border: none; |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   box-shadow: 0 0 10px inset #1a5afd; |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   padding-left: 70px; |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   font-size: 18px; |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   font-family: PingFang SC; |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   font-weight: 400; |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   color: #ffffff; |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   opacity: 0.7; |  |  |  | 
			
		
	
		
		
			
				
					|  |  | } |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					|  |  | .el-scrollbar__wrap { |  |  | .el-scrollbar__wrap { | 
			
		
	
		
		
			
				
					|  |  |   overflow-x: hidden !important; |  |  |   overflow-x: hidden !important; | 
			
		
	
		
		
			
				
					|  |  | } |  |  | } | 
			
		
	
	
		
		
			
				
					|  | 
 |