<template> <Transition name="slideTC"> <div class="LayerControl" v-show="ShowTuCheng" :class="[showPanel ? 'TuChengImgTrue' : 'TuChengImgFalse']"> <div class="GroupBox" v-for="item in AllData.LayerData" v-show="item.children"> <div class="GroupName" @click="item.Show = !item.Show">{{ item.title }}</div> <!-- <Transition name="Group"> --> <div class="TCListBox" v-show="item.Show"> <div class="TCList" v-for="item2 in item.children" :class="item2.layerVisible ? 'TCList_Check' : ''" @click="layerClick(item2)" > <div class="TCList_Select"> <el-icon v-show="item2.layerVisible"><Check /></el-icon> </div> <img class="TCList_Icon" :src="item2.layerIcon" v-if="item2.layerIcon" /> <!-- 当有未配置图片的图层时,将使用备用图片 --> <img class="TCList_Icon" :src="requireTuChengImg('TuCheng')" v-else /> <div class="TCList_Name"> {{ item2.layerName }} </div> </div> </div> <!-- </Transition/> --> </div> </div> </Transition> </template> <script setup name="LayerControl"> import { ref, reactive, toRefs, onMounted } from 'vue'; // 图层控制icon引入 import { requireTuChengImg } from '@/utils/util'; import yanAnPaiShuiArea from '@/assets/yanAnPaiShuiArea.json'; import yanAnRoad from '@/assets/yanAnRoad.json'; import yanAnWater from '@/assets/yanAnWater.json'; import yanAnWSCLC from '@/assets/yanAnWSCLC.json'; import yanAnCenterCity from '@/assets/yanAnCenterCity.json'; import yanAnYSBZ from '@/assets/yanAnYSBZ.json'; import yanAnYiLao from '@/assets/yanAnYiLao.json'; import yanAnFengXian from '@/assets/yanAnFengXian.json'; import yanAnPipeSupervise from '@/assets/yanAnPipeSupervise.json'; import yanAnPKSupervise from '@/assets/yanAnPKSupervise.json'; import yanAnNature from '@/assets/yanAnNature.json'; import yanAnVideo from '@/assets/yanAnVideo.json'; import yanAnMountain from '@/assets/yanAnMountain.json'; import yanAnSmallWater from '@/assets/yanAnSmallWater.json'; import yanAnRainArea from '@/assets/yanAnRainArea.json'; import heDiJiaGu from '@/assets/heDiJiaGu.json'; import heDiShuJun from '@/assets/heDiShuJun.json'; import anXianGaiZao from '@/assets/anXianGaiZao.json'; import testProjection from '@/assets/testProjection.json'; import testProjectionLabel from '@/assets/testProjectionLabel.json'; import ranQi_supervise from '@/assets/ranQi_supervise.json'; import paishuiSupervise from '@/assets/paishuiSupervise.json'; import xtb_img from '@/assets/newImgs/xtb_img.png'; import bus from '@/bus'; import axios from 'axios'; import mapBoxVectorLayer from '@/utils/GISdocument/mapboxVectorLayer.js'; const AllData = reactive({ // 图层控制面板的渲染数据 /**图层面板数据字段说明 *@param title:渲染在图层控制中的图层分组名称 *@param children:关联图层分组与图层的字段 *@param layerName:渲染在图层控制中的图层名称 *@param layerKey:gis使用的图层唯一id名称 *@param layerIcon:渲染在图层控制中UI设计的图层示意图 *@param layerVisible:代表当前图层是否勾选,true:勾选中且地图上图;false:不勾选且地图不上图 */ LayerData: [ { title: '基本信息', Show: true, children: [ { layerName: '蓝色地图', layerKey: 'blackMap', layerIcon: requireTuChengImg('blueMap_icon'), layerVisible: true, }, { layerName: '白色地图', layerKey: 'whiteMap', layerIcon: requireTuChengImg('whiteMap_icon'), layerVisible: false, }, { layerName: '影像地图', layerKey: 'imageMap', layerIcon: requireTuChengImg('imageLayer_icon'), layerVisible: false, }, { layerName: '中心城区', layerKey: 'centerCity', layerIcon: requireTuChengImg('centerCity'), layerVisible: false, dynamicLineData: yanAnCenterCity, }, { layerName: '示范区', layerKey: 'testProjection', layerIcon: requireTuChengImg('centerCity'), layerVisible: false, }, { layerName: '综合视角', layerKey: 'zongHeView', layerIcon: '', layerVisible: true, lonlat: [109.478, 36.606], zoom: 14, bearing: 0, pitch: 55, }, { layerName: '燃气视角', layerKey: 'ranQiView', layerIcon: '', layerVisible: false, lonlat: [109.478, 36.606], zoom: 11.5, bearing: 40, pitch: 55, }, { layerName: '桥梁视角', layerKey: 'qiaoLiangView', layerIcon: '', layerVisible: false, lonlat: [109.4716, 36.6064], zoom: 18, bearing: 300, pitch: 45, }, { layerName: '隧道视角', layerKey: 'suiDaoView', layerIcon: '', layerVisible: false, lonlat: [109.4636, 36.6134], zoom: 18, bearing: 30, pitch: 45, }, { layerName: '三维建筑', layerKey: 'buildingLayer', layerIcon: '', layerVisible: true, }, { layerName: '仿真地图', layerKey: 'fangZhenMap', layerIcon: '', layerVisible: false, }, { layerName: '路网', layerKey: 'road', layerIcon: requireTuChengImg('roadNet'), layerVisible: true, dynamicLineData: yanAnRoad, }, { layerName: '河流水系', layerKey: 'waterLake', layerIcon: requireTuChengImg('waterLake'), layerVisible: true, dynamicLineData: yanAnWater, }, { layerName: '防洪河道', layerKey: 'fangHongWater', layerIcon: requireTuChengImg('fangHongRivel'), layerVisible: false, lineWithLabel: yanAnSmallWater, }, { layerName: '河堤疏浚', layerKey: 'heDiShuJun', layerIcon: requireTuChengImg('hediShuJun'), layerVisible: false, lineWithLabel: heDiShuJun, }, { layerName: '河堤加固', layerKey: 'heDiJiaGu', layerIcon: requireTuChengImg('hediJiaGu'), layerVisible: false, lineWithLabel: heDiJiaGu, }, { layerName: '岸线改造', layerKey: 'anXianGaiZao', layerIcon: requireTuChengImg('anXianGaiZao'), layerVisible: false, lineWithLabel: anXianGaiZao, }, { layerName: '河堤治理', layerKey: 'heDiZhiLi', layerIcon: requireTuChengImg('hediZhiLi'), layerVisible: false, lineWithLabel: anXianGaiZao, }, { layerName: '空间格局', layerKey: 'yanAnNature', layerIcon: requireTuChengImg('yanAnNature'), layerVisible: false, areaData: yanAnNature, }, { layerName: '山体修复', layerKey: 'yanAnMountain', layerIcon: requireTuChengImg('yanAnMountain'), layerVisible: false, lineWithLabel: yanAnMountain, }, ], }, { title: '燃气系统', Show: true, children: [ { layerName: '燃气管网', layerKey: 'rq_all', layerIcon: requireTuChengImg('rq_all'), layerVisible: false, }, { layerName: '燃气风险评估', layerKey: 'ranqiRisk', layerIcon: requireTuChengImg('rq_all'), layerVisible: false, layerType: 'heatMap', }, { layerName: '干管', layerKey: 'rq_SZLH', layerIcon: requireTuChengImg('rq_SZLH'), layerVisible: false, }, { layerName: '干管流向', layerKey: 'sx_ya_smx_rq_line_sz', layerIcon: requireTuChengImg('sx_ya_smx_rq_line_sz'), layerVisible: false, }, { layerName: '主管', layerKey: 'rq_TYLH', layerIcon: requireTuChengImg('rq_TYLH'), layerVisible: false, }, { layerName: '主管流向', layerKey: 'sx_ya_smx_rq_line_zg', layerIcon: requireTuChengImg('sx_ya_smx_rq_line_zg'), layerVisible: false, }, { layerName: '支管', layerKey: 'rq_LGLH', layerIcon: requireTuChengImg('rq_LGLH'), layerVisible: false, }, { layerName: '支管流向', layerKey: 'sx_ya_smx_rq_line_zhig', layerIcon: requireTuChengImg('sx_ya_smx_rq_line_zhig'), layerVisible: false, }, { layerName: '其他管网', layerKey: 'rq_other', layerIcon: requireTuChengImg('rq_other'), layerVisible: false, }, { layerName: '调压器', layerKey: 'tiaoYaQi', layerIcon: requireTuChengImg('tiaoYaQi'), layerVisible: false, }, { layerName: '节点', layerKey: 'rq_jieDian', layerIcon: requireTuChengImg('jiedian_iocn'), layerVisible: false, }, { layerName: '极性保护', layerKey: 'jiXingBaoHu', layerIcon: requireTuChengImg('jiXingBaoHu'), layerVisible: false, }, { layerName: '流量计', layerKey: 'rq_liuLiangJi', layerIcon: requireTuChengImg('rq_liuLiangJi'), layerVisible: false, }, { layerName: '未知设备', layerKey: 'rq_unknow', layerIcon: requireTuChengImg('rq_unknow'), layerVisible: false, }, ], }, { title: '雨水系统', Show: true, children: [ { layerName: '雨水分区', layerKey: 'rainArea', layerIcon: requireTuChengImg('rainArea'), layerVisible: false, areaData: yanAnRainArea, }, { layerName: '排水分区', layerKey: 'paishuiArea', layerIcon: requireTuChengImg('paishuiArea'), layerVisible: false, areaData: yanAnPaiShuiArea, }, { layerName: '雨水管网', layerKey: 'ysLine1', layerIcon: requireTuChengImg('ysLine1'), layerVisible: false, }, { layerName: '雨水管网流向', layerKey: 'pipeline_info_flow_ys', layerIcon: requireTuChengImg('pipeline_info_flow_ys'), layerVisible: false, }, { layerName: '排水风险评估', layerKey: 'paishuiRisk', layerIcon: requireTuChengImg('pipeline_info_flow_ys'), layerVisible: false, layerType: 'heatMap', }, // { // layerName: '雨水排口', // layerKey: '', // layerIcon: null, // layerVisible: false, // }, { layerName: '雨水泵站', layerKey: 'YSBZ', layerIcon: requireTuChengImg('YSBZ'), layerVisible: false, data: yanAnYSBZ, }, ], }, { title: '污水系统', Show: true, children: [ { layerName: '污水分区', layerKey: 'sewageArea', layerIcon: requireTuChengImg('sewageArea'), layerVisible: false, }, { layerName: '污水管网', layerKey: 'wsLine1', layerIcon: requireTuChengImg('wsLine1'), layerVisible: false, }, { layerName: '污水管网流向', layerKey: 'pipeline_info_flow_ws1', layerIcon: requireTuChengImg('pipeline_info_flow_ws1'), layerVisible: false, }, // { // layerName: '溢流口', // layerKey: '', // layerIcon: null, // layerVisible: false, // }, // { // layerName: '污水泵站', // layerKey: '', // layerIcon: null, // layerVisible: false, // }, { layerName: '污水处理厂', layerKey: 'WSCLC', layerIcon: requireTuChengImg('WSCLC'), layerVisible: false, data: yanAnWSCLC, }, ], }, { title: '感知设备', Show: true, children: [ { layerName: '内涝易涝点', layerKey: 'yiLaoPoint', layerIcon: requireTuChengImg('yiLaoPoint'), layerVisible: false, data: yanAnYiLao, }, { layerName: '内涝风险点', layerKey: 'fengXianPoint', layerIcon: requireTuChengImg('fengXianPoint'), layerVisible: false, data: yanAnFengXian, }, { layerName: '排水管网监测', layerKey: 'pipeSupervise', layerIcon: requireTuChengImg('pipeSupervise'), layerVisible: false, data: yanAnPipeSupervise, }, { layerName: '排水排口监测', layerKey: 'PKsupervise', layerIcon: requireTuChengImg('PKsupervise'), layerVisible: false, data: yanAnPKSupervise, }, { layerName: '视频监测', layerKey: 'video', layerIcon: requireTuChengImg('video'), layerVisible: false, data: yanAnVideo, }, { layerName: '燃气监测', layerKey: 'ranQi_supervise', layerIcon: requireTuChengImg('ranQiJing'), layerVisible: false, data: ranQi_supervise, }, { layerName: '排水监测', layerKey: 'paishuiSupervise', layerIcon: requireTuChengImg('shuiWeiJi_icon'), layerVisible: false, data: paishuiSupervise, }, ], }, ], }); onMounted(() => { let initeLegend = AllData.LayerData[0].children .concat(AllData.LayerData[1].children) .concat(AllData.LayerData[2].children) .concat(AllData.LayerData[3].children) .concat(AllData.LayerData[4].children); initeLegend.forEach(element => { element.layername = element.layerKey; }); bus.emit('setLegendData', initeLegend); }); const props = defineProps({ ShowTuCheng: false, showPanel: false, }); watch( () => props.ShowTuCheng, (newValue, oldValue) => { console.log('ShowTuCheng变化了', newValue, oldValue); }, { immediate: true, deep: true } ); const layerClick = async item2 => { item2.layerVisible = !item2.layerVisible; item2.isCheck = item2.layerVisible; console.info(`点击了名称为${item2.layerName},图层ID为${item2.layerKey}的图层,点击后的图层展示情况为${item2.layerVisible}`); bus.emit('setLayerVisible', { layername: item2.layerKey, isCheck: item2.isCheck }); //示范区 if (item2.layerKey == 'testProjection') { if (item2.isCheck) { AllData.LayerData[0]['children'][10].layerVisible = false; mapBoxVectorLayer.remove3Dtiles(); const layer = new mapboxL7.LineLayer({ name: 'testProjection', }) .source(testProjection) .size(30) .shape('wall') .style({ opacity: 0.8, sourceColor: '#16f7ff', targetColor: 'rbga(255,255,255, 0)', }); newfiberMapbox.addLayer(layer); mapBoxVectorLayer.addGeojsonSymbol('testProjection', testProjectionLabel, xtb_img); } else { newfiberMapbox.removeLayer(newfiberMapbox.getLayerByName('testProjection')); mapBoxVectorLayer.removeByIds(['testProjection']); } } //燃气风险 if (item2.layerKey == 'ranqiRisk') { if (item2.isCheck) { bus.emit('SiSeTuBol', true); let heatMapList = [ { lonlat: [109.4583517767791, 36.64045660187989], value: 2 }, { lonlat: [109.45915900059231, 36.639564923076406], value: 1 }, { lonlat: [109.46064074624108, 36.63888888248738], value: 3 }, { lonlat: [109.46175090337006, 36.63763347376713], value: 4 }, { lonlat: [109.46233801013652, 36.63722780459428], value: 5 }, { lonlat: [109.46275737211255, 36.63718265184453], value: 3 }, { lonlat: [109.46340039380915, 36.63601087211503], value: 2 }, { lonlat: [109.4634842662043, 36.639796184662536], value: 3 }, { lonlat: [109.46681120454784, 36.635965630684304], value: 2 }, { lonlat: [109.46751014117459, 36.63303623297878], value: 3 }, { lonlat: [109.46764992849988, 36.63236013419859], value: 4 }, { lonlat: [109.46801337554575, 36.63082773329404], value: 5 }, { lonlat: [109.4677058434299, 36.629971339150515], value: 6 }, { lonlat: [109.46790154568534, 36.62897972679855], value: 4 }, { lonlat: [109.46820907780108, 36.62758246914724], value: 5 }, { lonlat: [109.46846069498666, 36.625914758136716], value: 3 }, { lonlat: [109.46435094762097, 36.63127797375913], value: 3 }, { lonlat: [109.46493805438743, 36.62726670999692], value: 3 }, { lonlat: [109.46518967157303, 36.625959563646546], value: 3 }, { lonlat: [109.45336366384743, 36.6337564188794], value: 3 }, { lonlat: [109.45450991991531, 36.63114241494354], value: 3 }, { lonlat: [109.4557680058435, 36.6292043657803], value: 3 }, { lonlat: [109.4545099199152, 36.62609442354592], value: 3 }, { lonlat: [109.45330774891703, 36.62532758190564], value: 3 }, { lonlat: [109.45825622023474, 36.62505706236186], value: 3 }, { lonlat: [109.46314877662232, 36.62532740431396], value: 3 }, { lonlat: [109.44662591476458, 36.62744565667445], value: 3 }, { lonlat: [109.44139786879603, 36.62974412708136], value: 3 }, { lonlat: [109.43645036088442, 36.63126842378145], value: 3 }, { lonlat: [109.43211670920196, 36.63081469982216], value: 3 }, { lonlat: [109.42868355657039, 36.632810587611026], value: 3 }, { lonlat: [109.41793384915036, 36.634987868433505], value: 3 }, { lonlat: [109.40921026459482, 36.63444344378062], value: 3 }, { lonlat: [109.46858692076272, 36.62110590039618], value: 3 }, { lonlat: [109.47035661856971, 36.61995354263662], value: 3 }, { lonlat: [109.47258171472353, 36.61892777347618], value: 3 }, { lonlat: [109.47334332481641, 36.6208153097412], value: 35 }, { lonlat: [109.47401900156899, 36.620127962636424], value: 45 }, { lonlat: [109.47436575670645, 36.61957709339732], value: 43 }, { lonlat: [109.47556013551343, 36.61923328226432], value: 4 }, { lonlat: [109.47708842667508, 36.61754354976672], value: 5 }, { lonlat: [109.47910474358588, 36.61661993861554], value: 6 }, { lonlat: [109.47944089622014, 36.616364726231225], value: 6 }, { lonlat: [109.47757869270369, 36.615731001159105], value: 6 }, { lonlat: [109.47590065021183, 36.61525895943912], value: 7 }, { lonlat: [109.47548213080846, 36.614904203510264], value: 6 }, { lonlat: [109.47457696093612, 36.61451805927941], value: 6 }, { lonlat: [109.47548213080833, 36.61421038003272], value: 6 }, { lonlat: [109.476835019112, 36.613808538791], value: 4 }, { lonlat: [109.47752606277787, 36.61309282379784], value: 4 }, { lonlat: [109.478197640425, 36.61383660779872], value: 5 }, { lonlat: [109.47888868409086, 36.61442345137025], value: 6 }, { lonlat: [109.47862589283756, 36.61518291568912], value: 4 }, { lonlat: [109.47945319863473, 36.61438874695218], value: 4 }, { lonlat: [109.48037783452571, 36.61392413291535], value: 4 }, { lonlat: [109.48066009179765, 36.613381048298066], value: 33 }, { lonlat: [109.47880108700613, 36.613057670788265], value: 33 }, { lonlat: [109.47672795600828, 36.61215362328269], value: 3 }, { lonlat: [109.47235706714471, 36.608714319110575], value: 33 }, { lonlat: [109.47095953066176, 36.60900989208619], value: 33 }, { lonlat: [109.47242414889578, 36.60820574067667], value: 33 }, { lonlat: [109.47080300657555, 36.60720326624053], value: 44 }, { lonlat: [109.46960671534613, 36.60677769970712], value: 4 }, { lonlat: [109.4667110197535, 36.60586535117448], value: 54 }, { lonlat: [109.46634207012195, 36.60571021211726], value: 65 }, { lonlat: [109.48124809033756, 36.61305208261769], value: 4 }, { lonlat: [109.48183684833916, 36.61249083700314], value: 4 }, { lonlat: [109.48355078829951, 36.611592045362464], value: 4 }, { lonlat: [109.4836162058552, 36.611030788941534], value: 4 }, { lonlat: [109.48472830430275, 36.6098155271458], value: 4 }, { lonlat: [109.4848983899476, 36.60950742186193], value: 4 }, { lonlat: [109.48548714794921, 36.61046512927026], value: 4 }, { lonlat: [109.48597123786165, 36.60922876138633], value: 4 }, { lonlat: [109.48645532777408, 36.60856200129905], value: 4 }, { lonlat: [109.48743659111014, 36.60781084557607], value: 4 }, { lonlat: [109.48792068102257, 36.607355049157874], value: 5 }, { lonlat: [109.48809076666744, 36.60711022678964], value: 5 }, { lonlat: [109.48710950333127, 36.60684430590222], value: 5 }, { lonlat: [109.48636374319577, 36.60624081857617], value: 5 }, { lonlat: [109.48535859229459, 36.605997022060514], value: 28 }, { lonlat: [109.48571114675235, 36.60507741447555], value: 26 }, { lonlat: [109.4869629705518, 36.60486639408042], value: 32 }, { lonlat: [109.48860822468815, 36.60652068303526], value: 43 }, { lonlat: [109.48959435527298, 36.606639238856765], value: 33 }, { lonlat: [109.49055507792285, 36.60707599046411], value: 23 }, { lonlat: [109.49062150122646, 36.606453011511526], value: 43 }, { lonlat: [109.4906824296868, 36.607181292824684], value: 23 }, { lonlat: [109.49173098572089, 36.60668830758674], value: 43 }, { lonlat: [109.49338196262373, 36.60598188730296], value: 56 }, { lonlat: [109.49414496601992, 36.605639090280604], value: 55 }, { lonlat: [109.49287133727367, 36.60487615143745], value: 55 }, { lonlat: [109.49244041494259, 36.604467862285254], value: 55 }, { lonlat: [109.49361186903214, 36.604247271956666], value: 55 }, { lonlat: [109.49395592159959, 36.603945994095234], value: 55 }, { lonlat: [109.49451061859614, 36.603633392114766], value: 55 }, { lonlat: [109.49505127263073, 36.603150944228496], value: 66 }, { lonlat: [109.49581661405635, 36.60443486991358], value: 55 }, { lonlat: [109.49529000298357, 36.604994123879244], value: 66 }, { lonlat: [109.49460891932945, 36.60451168465817], value: 66 }, { lonlat: [109.4949529718969, 36.60387072220969], value: 5 }, { lonlat: [109.4958166140561, 36.60367134909574], value: 5 }, { lonlat: [109.49568320591762, 36.60269068866781], value: 5 }, { lonlat: [109.49566916295554, 36.60080859328861], value: 6 }, { lonlat: [109.49566214147451, 36.60014495272406], value: 6 }, { lonlat: [109.494840628201, 36.599753070596016], value: 6 }, { lonlat: [109.4965608910385, 36.60014250723452], value: 6 }, { lonlat: [109.49708750211117, 36.60052061853767], value: 6 }, { lonlat: [109.49651876215258, 36.60062696783045], value: 6 }, { lonlat: [109.49725601765434, 36.60026905844781], value: 6 }, { lonlat: [109.49813370277548, 36.601100102081844], value: 6 }, { lonlat: [109.49785284353655, 36.60242247026715], value: 6 }, { lonlat: [109.49832328276145, 36.60081901303621], value: 6 }, { lonlat: [109.49783880057448, 36.59967978702087], value: 6 }, { lonlat: [109.49802838056061, 36.599299226039754], value: 6 }, { lonlat: [109.49848477682357, 36.59905454638016], value: 6 }, { lonlat: [109.49689090064342, 36.59891177851914], value: 6 }, { lonlat: [109.4978247576123, 36.59752340035382], value: 6 }, { lonlat: [109.49701728730074, 36.596542660729575], value: 6 }, { lonlat: [109.49685645137883, 36.595212452415], value: 6 }, { lonlat: [109.49616132476278, 36.59372208751017], value: 6 }, { lonlat: [109.497713072057, 36.59436068924544], value: 6 }, { lonlat: [109.49829530434499, 36.59627757677923], value: 7 }, { lonlat: [109.49801374925752, 36.593942855465386], value: 7 }, { lonlat: [109.49621402796436, 36.59244561043963], value: 7 }, { lonlat: [109.49611930579097, 36.591341185842126], value: 7 }, { lonlat: [109.49618696448614, 36.58984388974645], value: 7 }, { lonlat: [109.49579789965442, 36.589368310214226], value: 7 }, { lonlat: [109.4920496079386, 36.58885313566361], value: 7 }, { lonlat: [109.48960036317119, 36.588970902925006], value: 7 }, { lonlat: [109.48761119753136, 36.58913232115246], value: 7 }, { lonlat: [109.48470187363641, 36.58831158443507], value: 7 }, { lonlat: [109.48200905756617, 36.589389680113165], value: 56 }, { lonlat: [109.48023639975108, 36.58902015763719], value: 7 }, { lonlat: [109.47394414109459, 36.58837402615219], value: 80 }, { lonlat: [109.4728480702318, 36.59023783394082], value: 78 }, { lonlat: [109.46961398459973, 36.588434956116345], value: 77 }, { lonlat: [109.46908624677688, 36.587439603702165], value: 55 }, { lonlat: [109.4652161694096, 36.58760966434236], value: 7 }, { lonlat: [109.46463430463056, 36.58702899938492], value: 55 }, { lonlat: [109.46321347203066, 36.585073258863616], value: 7 }, { lonlat: [109.46482374897708, 36.583968727419084], value: 7 }, { lonlat: [109.46692116852915, 36.58347534338372], value: 55 }, { lonlat: [109.4688020802565, 36.58344032845259], value: 55 }, { lonlat: [109.47236092762554, 36.58305607754432], value: 66 }, { lonlat: [109.47351112544439, 36.58086012847229], value: 55 }, { lonlat: [109.47357878413955, 36.58486317336802], value: 5 }, { lonlat: [109.46054812145172, 36.592050037038575], value: 55 }, { lonlat: [109.45958516192611, 36.59014334083254], value: 45 }, { lonlat: [109.441690631703, 36.574861874203556], value: 45 }, { lonlat: [109.44624550826747, 36.57378190194129], value: 7 }, { lonlat: [109.4509010450875, 36.57331087985171], value: 7 }, { lonlat: [109.45600955305757, 36.573692403602315], value: 7 }, { lonlat: [109.45623603863253, 36.573058990448956], value: 7 }, { lonlat: [109.46174718762488, 36.57201959088281], value: 7 }, { lonlat: [109.46564777252813, 36.57459338262966], value: 7 }, { lonlat: [109.47100793113714, 36.57481251327233], value: 7 }, { lonlat: [109.47073111543428, 36.57287999199309], value: 7 }, { lonlat: [109.47181321318158, 36.57139400720595], value: 7 }, { lonlat: [109.47722370191836, 36.57685016603991], value: 7 }, { lonlat: [109.48097329643825, 36.57962676684916], value: 7 }, { lonlat: [109.49076250629228, 36.580657760474004], value: 7 }, { lonlat: [109.4908883316117, 36.57815705967815], value: 7 }, { lonlat: [109.48588048389708, 36.575696873317725], value: 7 }, { lonlat: [109.48555333806642, 36.57234345586721], value: 7 }, { lonlat: [109.48462223070236, 36.57114165197099], value: 7 }, { lonlat: [109.48494937653292, 36.569168438097215], value: 7 }, { lonlat: [109.48789368900827, 36.568575587318655], value: 7 }, { lonlat: [109.48701291177198, 36.56741432474017], value: 77 }, { lonlat: [109.48668576594132, 36.565197403953434], value: 77 }, { lonlat: [109.48661027074958, 36.56200594032002], value: 77 }, { lonlat: [109.48643411530227, 36.55950462918852], value: 7 }, { lonlat: [109.47872714141864, 36.55363535583412], value: 7 }, { lonlat: [109.47752130169793, 36.55237880798815], value: 7 }, { lonlat: [109.47659108248483, 36.550399478960415], value: 7 }, { lonlat: [109.47531633763725, 36.54680772057538], value: 7 }, { lonlat: [109.47714232349988, 36.538378228993835], value: 7 }, { lonlat: [109.47628100941364, 36.53678778825302], value: 7 }, { lonlat: [109.49119798128915, 36.57421937037934], value: 7 }, { lonlat: [109.49316811330803, 36.5763548006588], value: 7 }, { lonlat: [109.49201320833134, 36.5772533638739], value: 7 }, { lonlat: [109.49206173375048, 36.57869986536457], value: 7 }, { lonlat: [109.49288666587658, 36.57962971205523], value: 7 }, { lonlat: [109.4948373877278, 36.579792436760556], value: 7 }, { lonlat: [109.49405127593694, 36.581677232061956], value: 7 }, { lonlat: [109.49497325890142, 36.582200016243696], value: 7 }, { lonlat: [109.49599229270427, 36.581908742939454], value: 7 }, { lonlat: [109.49642902147689, 36.583276883316856], value: 56 }, { lonlat: [109.49692398075254, 36.58497374115537], value: 4 }, { lonlat: [109.49697250617166, 36.58646705928871], value: 4 }, { lonlat: [109.49781684846545, 36.58750638888238], value: 4 }, { lonlat: [109.49951870129331, 36.59430380170364], value: 3 }, { lonlat: [109.49965804385573, 36.59486501809594], value: 65 }, { lonlat: [109.49988842408676, 36.59649457072071], value: 76 }, { lonlat: [109.50008437575242, 36.59732109333835], value: 64 }, { lonlat: [109.49935516493218, 36.59831527959685], value: 43 }, { lonlat: [109.50060236752009, 36.60104441193055], value: 45 }, { lonlat: [109.50126321265897, 36.60358057739102], value: 23 }, { lonlat: [109.49942472380532, 36.604173438687546], value: 34 }, { lonlat: [109.5007026398301, 36.60501144006829], value: 6 }, { lonlat: [109.49901617072663, 36.605443415517875], value: 5 }, { lonlat: [109.50014206700124, 36.6054693718935], value: 5 }, { lonlat: [109.50184753857336, 36.6066137836571], value: 6 }, { lonlat: [109.50264089164449, 36.606042210978295], value: 6 }, { lonlat: [109.50362426940333, 36.606627392739135], value: 6 }, { lonlat: [109.5029639336135, 36.60551750543657], value: 6 }, { lonlat: [109.50313970644957, 36.60497656754981], value: 6 }, { lonlat: [109.50333489978382, 36.60424830824475], value: 6 }, { lonlat: [109.50498336394963, 36.60554595245176], value: 6 }, { lonlat: [109.5062137738025, 36.60733384990011], value: 6 }, { lonlat: [109.50681710218589, 36.607903700917404], value: 6 }, { lonlat: [109.5058527268957, 36.60992901196387], value: 6 }, { lonlat: [109.50458431210518, 36.61083589220665], value: 6 }, { lonlat: [109.5035629294087, 36.61163552050199], value: 6 }, { lonlat: [109.50728675442862, 36.60816923300994], value: 6 }, { lonlat: [109.50862770454853, 36.60957898993155], value: 6 }, { lonlat: [109.50900738849452, 36.611329111002924], value: 6 }, { lonlat: [109.5087728725542, 36.61263215550033], value: 6 }, { lonlat: [109.51196589727925, 36.61287834022912], value: 6 }, { lonlat: [109.51194785759148, 36.614481923277204], value: 6 }, { lonlat: [109.5131805695851, 36.614291799340485], value: 6 }, { lonlat: [109.51506271033638, 36.61535240611497], value: 6 }, { lonlat: [109.51550167607066, 36.616878374906946], value: 6 }, { lonlat: [109.5174078697389, 36.6167755151019], value: 6 }, { lonlat: [109.51728159192487, 36.61817541867955], value: 6 }, { lonlat: [109.51805729849644, 36.61931353190943], value: 6 }, { lonlat: [109.52015591550028, 36.61910403021254], value: 6 }, { lonlat: [109.52326378422758, 36.618323942249155], value: 6 }, { lonlat: [109.52535504124248, 36.621157617292155], value: 6 }, { lonlat: [109.52708365253223, 36.622782899894624], value: 6 }, { lonlat: [109.53062549244765, 36.62553845807305], value: 6 }, { lonlat: [109.53329698262276, 36.62472766573882], value: 6 }, { lonlat: [109.53529153411093, 36.62401430655811], value: 6 }, { lonlat: [109.53622232480538, 36.62273577119326], value: 6 }, { lonlat: [109.53555747430924, 36.62184699338395], value: 6 }, { lonlat: [109.5376787067582, 36.627153166827114], value: 6 }, { lonlat: [109.53979414015477, 36.62881729653026], value: 6 }, { lonlat: [109.54130516400943, 36.63016960226274], value: 6 }, { lonlat: [109.54008425673476, 36.63148291126323], value: 6 }, { lonlat: [109.53755782484959, 36.63369255351504], value: 6 }, { lonlat: [109.53614579982442, 36.6360575522797], value: 6 }, { lonlat: [109.53343812543821, 36.62040741435609], value: 6 }, { lonlat: [109.53580803843838, 36.62277137411824], value: 6 }, { lonlat: [109.54168042409255, 36.62849933558428], value: 6 }, { lonlat: [109.54288050769686, 36.63006645029258], value: 6 }, { lonlat: [109.54573448803326, 36.63312914358253], value: 6 }, { lonlat: [109.54725728319507, 36.636077923401025], value: 6 }, { lonlat: [109.54490753966712, 36.63712470479035], value: 6 }, { lonlat: [109.54219474563702, 36.63804142854716], value: 6 }, { lonlat: [109.53998618841547, 36.636568584052085], value: 6 }, { lonlat: [109.53464796833235, 36.63649472525616], value: 6 }, { lonlat: [109.53531650653413, 36.633497267658136], value: 6 }, { lonlat: [109.52895761991671, 36.63899560790742], value: 6 }, { lonlat: [109.52561492890752, 36.6410855206062], value: 6 }, { lonlat: [109.52130829909568, 36.6436264356986], value: 6 }, { lonlat: [109.51955144289083, 36.64125575007403], value: 6 }, { lonlat: [109.51807443988673, 36.63976209758932], value: 6 }, { lonlat: [109.51690838488348, 36.64107514503131], value: 6 }, { lonlat: [109.51689283748337, 36.643941824018825], value: 6 }, { lonlat: [109.51588225648054, 36.646106775610676], value: 6 }, { lonlat: [109.51409430547558, 36.64724431137258], value: 6 }, { lonlat: [109.51174664806909, 36.646327110237564], value: 6 }, { lonlat: [109.51070497226618, 36.648567165872755], value: 6 }, { lonlat: [109.50978767566362, 36.64972972191704], value: 6 }, { lonlat: [109.51067387746598, 36.650967429494266], value: 6 }, { lonlat: [109.51146679486808, 36.652280284952866], value: 6 }, { lonlat: [109.51191766946926, 36.65361817342491], value: 6 }, { lonlat: [109.51199540646942, 36.65525669873434], value: 6 }, { lonlat: [109.51428087427561, 36.655191468743396], value: 6 }, { lonlat: [109.51460736967644, 36.65357281224559], value: 6 }, { lonlat: [109.51353459907345, 36.65593792955656], value: 6 }, { lonlat: [109.50664710085456, 36.64933312632619], value: 6 }, { lonlat: [109.50327331504526, 36.64723825232908], value: 6 }, { lonlat: [109.50558987765153, 36.64807508399961], value: 28 }, { lonlat: [109.50703578585542, 36.64720800813199], value: 29 }, { lonlat: [109.50596301525242, 36.6462406907215], value: 28 }, { lonlat: [109.50380192664646, 36.647478454644535], value: 6 }, { lonlat: [109.50293172446254, 36.64689822474207], value: 6 }, { lonlat: [109.49977744553338, 36.648514140036085], value: 6 }, { lonlat: [109.49841675260586, 36.64788286957943], value: 5 }, { lonlat: [109.49667830356817, 36.64754979371535], value: 5 }, { lonlat: [109.49480514097309, 36.64623412909707], value: 5 }, { lonlat: [109.49194575265034, 36.64800589561177], value: 5 }, { lonlat: [109.48774678808107, 36.64818660580967], value: 5 }, { lonlat: [109.48778573951488, 36.65030081450137], value: 23 }, { lonlat: [109.49052013017122, 36.65182489248657], value: 34 }, { lonlat: [109.49386216319564, 36.653097849178344], value: 23 }, { lonlat: [109.49541243026289, 36.655375126863646], value: 34 }, { lonlat: [109.49376867975428, 36.65881983304358], value: 5 }, { lonlat: [109.49594216976315, 36.66097140773642], value: 5 }, { lonlat: [109.49674456930045, 36.662419955163955], value: 5 }, { lonlat: [109.49257676587825, 36.66373039429423], value: 5 }, { lonlat: [109.48954634432454, 36.66561822861078], value: 5 }, { lonlat: [109.48265911535468, 36.654995428105366], value: 5 }, { lonlat: [109.47853819629543, 36.65495490425706], value: 5 }, { lonlat: [109.47794031082658, 36.64600156969751], value: 5 }, { lonlat: [109.47947610116441, 36.638089580666374], value: 5 }, { lonlat: [109.48196313342223, 36.63989201277776], value: 5 }, { lonlat: [109.48007581107044, 36.63626409608854], value: 5 }, { lonlat: [109.48312727618112, 36.63616165277856], value: 6 }, { lonlat: [109.48487349031957, 36.63719648127574], value: 5 }, { lonlat: [109.48806606364347, 36.640221454017194], value: 5 }, { lonlat: [109.48968880809531, 36.64396832101501], value: 5 }, { lonlat: [109.49199945508674, 36.64370117513442], value: 5 }, { lonlat: [109.4886481350228, 36.64628232413764], value: 5 }, { lonlat: [109.48693719793754, 36.6481698459415], value: 5 }, { lonlat: [109.49295193552571, 36.64621960689284], value: 6 }, { lonlat: [109.4960034006364, 36.647282727565546], value: 5 }, { lonlat: [109.4991959739603, 36.64675388047846], value: 5 }, { lonlat: [109.50401129173616, 36.64690730406689], value: 5 }, { lonlat: [109.50575750587461, 36.64410416698772], value: 5 }, { lonlat: [109.5035879670964, 36.64221068329797], value: 5 }, { lonlat: [109.49916069690676, 36.63886718707988], value: 5 }, { lonlat: [109.4955447989431, 36.639105918699926], value: 34 }, { lonlat: [109.49207000919266, 36.63564855779099], value: 34 }, { lonlat: [109.48792495542945, 36.63128116433782], value: 23 }, { lonlat: [109.4824393736407, 36.62725474513087], value: 43 }, { lonlat: [109.48350796628219, 36.6240399916917], value: 5 }, { lonlat: [109.47904752109281, 36.617139346998826], value: 5 }, { lonlat: [109.47973483856029, 36.6163530732266], value: 5 }, { lonlat: [109.48169304493001, 36.61519041973535], value: 6 }, { lonlat: [109.48128150577406, 36.61652725739157], value: 5 }, { lonlat: [109.4856636114327, 36.61250054572504], value: 6 }, { lonlat: [109.48669837172288, 36.61390464711184], value: 5 }, { lonlat: [109.48778868961256, 36.61110958729933], value: 5 }, { lonlat: [109.48832343150745, 36.61186423919422], value: 5 }, { lonlat: [109.48855260660523, 36.61062565266084], value: 5 }, { lonlat: [109.49005960649093, 36.60966700183684], value: 5 }, { lonlat: [109.49101103038188, 36.608943504005595], value: 5 }, { lonlat: [109.49269164776588, 36.607944427600174], value: 5 }, { lonlat: [109.49137909947821, 36.60774724442752], value: 5 }, { lonlat: [109.49426114995096, 36.60713571424016], value: 5 }, { lonlat: [109.4965699550399, 36.6053070257893], value: 5 }, { lonlat: [109.49771583052903, 36.60506504012202], value: 5 }, { lonlat: [109.49879225901881, 36.60545019078856], value: 5 }, { lonlat: [109.49911865991568, 36.6049954268223], value: 5 }, { lonlat: [109.50854172185717, 36.60498562319275], value: 5 }, { lonlat: [109.51044938269962, 36.60552218657323], value: 5 }, { lonlat: [109.51212316173265, 36.60707867359568], value: 5 }, { lonlat: [109.51372557809377, 36.60793013404142], value: 5 }, { lonlat: [109.51465329282912, 36.60842590572189], value: 5 }, { lonlat: [109.51604810869001, 36.60896351865908], value: 5 }, { lonlat: [109.51735209933206, 36.609239601548374], value: 6 }, { lonlat: [109.51869501506792, 36.61021656939483], value: 6 }, { lonlat: [109.51997305564743, 36.61025204679149], value: 6 }, { lonlat: [109.52078399510141, 36.610674577473965], value: 6 }, { lonlat: [109.64885541010113, 36.68368750346818], value: 77 }, { lonlat: [109.64418083988407, 36.684106217976854], value: 77 }, { lonlat: [109.65730463327395, 36.68351820161691], value: 6 }, { lonlat: [109.66382903341632, 36.683373146319866], value: 53 }, { lonlat: [109.66365404950439, 36.68117431536967], value: 54 }, { lonlat: [109.66952850940268, 36.687351497043785], value: 56 }, { lonlat: [109.67765276245356, 36.68821312918963], value: 33 }, { lonlat: [109.67907763145014, 36.68818888405842], value: 23 }, { lonlat: [109.67620289575514, 36.68570831505293], value: 34 }, { lonlat: [109.66992847262958, 36.6839122446761], value: 6 }, { lonlat: [109.66315409547013, 36.68135099518023], value: 6 }, { lonlat: [109.68433055291582, 36.68853913721367], value: 6 }, { lonlat: [109.68255571609542, 36.69068926681356], value: 6 }, { lonlat: [109.68633036905133, 36.69126900476532], value: 77 }, { lonlat: [109.68605539433261, 36.69273456341231], value: 77 }, { lonlat: [109.68383059888168, 36.693435078555396], value: 6 }, { lonlat: [109.70500365221739, 36.69928917967537], value: 77 }, { lonlat: [109.70692847524785, 36.69970780952815], value: 77 }, { lonlat: [109.72405190090896, 36.70298488870231], value: 6 }, { lonlat: [109.72712178240528, 36.70196817888451], value: 34 }, { lonlat: [109.72395293859049, 36.701623796200366], value: 34 }, ]; let heatMapJeojson = {}; let heatMapFeatures = []; heatMapList.forEach(element => { let heatmap = turf.point(element.lonlat); heatmap.properties.value = element.value; gcoord.transform(heatmap, gcoord.BD09, gcoord.WGS84); heatMapFeatures.push(heatmap); }); heatMapJeojson = turf.featureCollection(heatMapFeatures); mapBoxVectorLayer.addHeatMapLayer(item2.layerKey, heatMapJeojson, 'value', true); heatMapJeojson.features.forEach(feature => { gcoord.transform(feature, gcoord.WGS84, gcoord.BD09); }); } else { mapBoxVectorLayer.removeByIds([item2.layerKey]); bus.emit('SiSeTuBol', false); } } //排水风险 if (item2.layerKey == 'paishuiRisk') { if (item2.isCheck) { bus.emit('SiSeTuBol', true); let heatMapList = [ { lonlat: [109.4583517767791, 36.64045660187989], value: 2 }, { lonlat: [109.45915900059231, 36.639564923076406], value: 1 }, { lonlat: [109.46064074624108, 36.63888888248738], value: 3 }, { lonlat: [109.46175090337006, 36.63763347376713], value: 4 }, { lonlat: [109.46233801013652, 36.63722780459428], value: 5 }, { lonlat: [109.46275737211255, 36.63718265184453], value: 3 }, { lonlat: [109.46340039380915, 36.63601087211503], value: 2 }, { lonlat: [109.4634842662043, 36.639796184662536], value: 3 }, { lonlat: [109.46681120454784, 36.635965630684304], value: 2 }, { lonlat: [109.46751014117459, 36.63303623297878], value: 3 }, { lonlat: [109.46764992849988, 36.63236013419859], value: 4 }, { lonlat: [109.46801337554575, 36.63082773329404], value: 5 }, { lonlat: [109.4677058434299, 36.629971339150515], value: 6 }, { lonlat: [109.46790154568534, 36.62897972679855], value: 4 }, { lonlat: [109.46820907780108, 36.62758246914724], value: 5 }, { lonlat: [109.46846069498666, 36.625914758136716], value: 3 }, { lonlat: [109.46435094762097, 36.63127797375913], value: 3 }, { lonlat: [109.46493805438743, 36.62726670999692], value: 3 }, { lonlat: [109.46518967157303, 36.625959563646546], value: 3 }, { lonlat: [109.45336366384743, 36.6337564188794], value: 3 }, { lonlat: [109.45450991991531, 36.63114241494354], value: 3 }, { lonlat: [109.4557680058435, 36.6292043657803], value: 3 }, { lonlat: [109.4545099199152, 36.62609442354592], value: 3 }, { lonlat: [109.45330774891703, 36.62532758190564], value: 3 }, { lonlat: [109.45825622023474, 36.62505706236186], value: 3 }, { lonlat: [109.46314877662232, 36.62532740431396], value: 3 }, { lonlat: [109.44662591476458, 36.62744565667445], value: 3 }, { lonlat: [109.44139786879603, 36.62974412708136], value: 3 }, { lonlat: [109.43645036088442, 36.63126842378145], value: 3 }, { lonlat: [109.43211670920196, 36.63081469982216], value: 3 }, { lonlat: [109.42868355657039, 36.632810587611026], value: 3 }, { lonlat: [109.41793384915036, 36.634987868433505], value: 3 }, { lonlat: [109.40921026459482, 36.63444344378062], value: 3 }, { lonlat: [109.46858692076272, 36.62110590039618], value: 3 }, { lonlat: [109.47035661856971, 36.61995354263662], value: 3 }, { lonlat: [109.47258171472353, 36.61892777347618], value: 3 }, { lonlat: [109.47334332481641, 36.6208153097412], value: 35 }, { lonlat: [109.47401900156899, 36.620127962636424], value: 45 }, { lonlat: [109.47436575670645, 36.61957709339732], value: 43 }, { lonlat: [109.47556013551343, 36.61923328226432], value: 4 }, { lonlat: [109.47708842667508, 36.61754354976672], value: 5 }, { lonlat: [109.47910474358588, 36.61661993861554], value: 6 }, { lonlat: [109.47944089622014, 36.616364726231225], value: 6 }, { lonlat: [109.47757869270369, 36.615731001159105], value: 6 }, { lonlat: [109.47590065021183, 36.61525895943912], value: 7 }, { lonlat: [109.47548213080846, 36.614904203510264], value: 54 }, { lonlat: [109.47457696093612, 36.61451805927941], value: 34 }, { lonlat: [109.47548213080833, 36.61421038003272], value: 25 }, { lonlat: [109.476835019112, 36.613808538791], value: 34 }, { lonlat: [109.47752606277787, 36.61309282379784], value: 4 }, { lonlat: [109.478197640425, 36.61383660779872], value: 5 }, { lonlat: [109.47888868409086, 36.61442345137025], value: 6 }, { lonlat: [109.47862589283756, 36.61518291568912], value: 4 }, { lonlat: [109.47945319863473, 36.61438874695218], value: 4 }, { lonlat: [109.48037783452571, 36.61392413291535], value: 4 }, { lonlat: [109.48066009179765, 36.613381048298066], value: 4 }, { lonlat: [109.47880108700613, 36.613057670788265], value: 4 }, { lonlat: [109.47672795600828, 36.61215362328269], value: 3 }, { lonlat: [109.47235706714471, 36.608714319110575], value: 4 }, { lonlat: [109.47095953066176, 36.60900989208619], value: 4 }, { lonlat: [109.47242414889578, 36.60820574067667], value: 4 }, { lonlat: [109.47080300657555, 36.60720326624053], value: 4 }, { lonlat: [109.46960671534613, 36.60677769970712], value: 4 }, { lonlat: [109.4667110197535, 36.60586535117448], value: 4 }, { lonlat: [109.46634207012195, 36.60571021211726], value: 4 }, { lonlat: [109.48124809033756, 36.61305208261769], value: 4 }, { lonlat: [109.48183684833916, 36.61249083700314], value: 4 }, { lonlat: [109.48355078829951, 36.611592045362464], value: 4 }, { lonlat: [109.4836162058552, 36.611030788941534], value: 4 }, { lonlat: [109.48472830430275, 36.6098155271458], value: 4 }, { lonlat: [109.4848983899476, 36.60950742186193], value: 4 }, { lonlat: [109.48548714794921, 36.61046512927026], value: 4 }, { lonlat: [109.48597123786165, 36.60922876138633], value: 4 }, { lonlat: [109.48645532777408, 36.60856200129905], value: 4 }, { lonlat: [109.48743659111014, 36.60781084557607], value: 4 }, { lonlat: [109.48792068102257, 36.607355049157874], value: 5 }, { lonlat: [109.48809076666744, 36.60711022678964], value: 5 }, { lonlat: [109.48710950333127, 36.60684430590222], value: 5 }, { lonlat: [109.48636374319577, 36.60624081857617], value: 5 }, { lonlat: [109.48535859229459, 36.605997022060514], value: 28 }, { lonlat: [109.48571114675235, 36.60507741447555], value: 26 }, { lonlat: [109.4869629705518, 36.60486639408042], value: 32 }, { lonlat: [109.48860822468815, 36.60652068303526], value: 43 }, { lonlat: [109.48959435527298, 36.606639238856765], value: 33 }, { lonlat: [109.49055507792285, 36.60707599046411], value: 23 }, { lonlat: [109.49062150122646, 36.606453011511526], value: 43 }, { lonlat: [109.4906824296868, 36.607181292824684], value: 23 }, { lonlat: [109.49173098572089, 36.60668830758674], value: 43 }, { lonlat: [109.49338196262373, 36.60598188730296], value: 56 }, { lonlat: [109.49414496601992, 36.605639090280604], value: 55 }, { lonlat: [109.49287133727367, 36.60487615143745], value: 55 }, { lonlat: [109.49244041494259, 36.604467862285254], value: 55 }, { lonlat: [109.49361186903214, 36.604247271956666], value: 55 }, { lonlat: [109.49395592159959, 36.603945994095234], value: 55 }, { lonlat: [109.49451061859614, 36.603633392114766], value: 55 }, { lonlat: [109.49505127263073, 36.603150944228496], value: 66 }, { lonlat: [109.49581661405635, 36.60443486991358], value: 55 }, { lonlat: [109.49529000298357, 36.604994123879244], value: 66 }, { lonlat: [109.49460891932945, 36.60451168465817], value: 66 }, { lonlat: [109.4949529718969, 36.60387072220969], value: 5 }, { lonlat: [109.4958166140561, 36.60367134909574], value: 5 }, { lonlat: [109.49568320591762, 36.60269068866781], value: 5 }, { lonlat: [109.49566916295554, 36.60080859328861], value: 6 }, { lonlat: [109.49566214147451, 36.60014495272406], value: 6 }, { lonlat: [109.494840628201, 36.599753070596016], value: 6 }, { lonlat: [109.4965608910385, 36.60014250723452], value: 6 }, { lonlat: [109.49708750211117, 36.60052061853767], value: 6 }, { lonlat: [109.49651876215258, 36.60062696783045], value: 6 }, { lonlat: [109.49725601765434, 36.60026905844781], value: 6 }, { lonlat: [109.49813370277548, 36.601100102081844], value: 6 }, { lonlat: [109.49785284353655, 36.60242247026715], value: 6 }, { lonlat: [109.49832328276145, 36.60081901303621], value: 6 }, { lonlat: [109.49783880057448, 36.59967978702087], value: 6 }, { lonlat: [109.49802838056061, 36.599299226039754], value: 6 }, { lonlat: [109.49848477682357, 36.59905454638016], value: 6 }, { lonlat: [109.49689090064342, 36.59891177851914], value: 6 }, { lonlat: [109.4978247576123, 36.59752340035382], value: 6 }, { lonlat: [109.49701728730074, 36.596542660729575], value: 6 }, { lonlat: [109.49685645137883, 36.595212452415], value: 6 }, { lonlat: [109.49616132476278, 36.59372208751017], value: 6 }, { lonlat: [109.497713072057, 36.59436068924544], value: 6 }, { lonlat: [109.49829530434499, 36.59627757677923], value: 7 }, { lonlat: [109.49801374925752, 36.593942855465386], value: 7 }, { lonlat: [109.49621402796436, 36.59244561043963], value: 7 }, { lonlat: [109.49611930579097, 36.591341185842126], value: 7 }, { lonlat: [109.49618696448614, 36.58984388974645], value: 7 }, { lonlat: [109.49579789965442, 36.589368310214226], value: 7 }, { lonlat: [109.4920496079386, 36.58885313566361], value: 7 }, { lonlat: [109.48960036317119, 36.588970902925006], value: 7 }, { lonlat: [109.48761119753136, 36.58913232115246], value: 7 }, { lonlat: [109.48470187363641, 36.58831158443507], value: 7 }, { lonlat: [109.48200905756617, 36.589389680113165], value: 56 }, { lonlat: [109.48023639975108, 36.58902015763719], value: 7 }, { lonlat: [109.47394414109459, 36.58837402615219], value: 80 }, { lonlat: [109.4728480702318, 36.59023783394082], value: 78 }, { lonlat: [109.46961398459973, 36.588434956116345], value: 77 }, { lonlat: [109.46908624677688, 36.587439603702165], value: 55 }, { lonlat: [109.4652161694096, 36.58760966434236], value: 7 }, { lonlat: [109.46463430463056, 36.58702899938492], value: 55 }, { lonlat: [109.46321347203066, 36.585073258863616], value: 7 }, { lonlat: [109.46482374897708, 36.583968727419084], value: 7 }, { lonlat: [109.46692116852915, 36.58347534338372], value: 55 }, { lonlat: [109.4688020802565, 36.58344032845259], value: 55 }, { lonlat: [109.47236092762554, 36.58305607754432], value: 66 }, { lonlat: [109.47351112544439, 36.58086012847229], value: 55 }, { lonlat: [109.47357878413955, 36.58486317336802], value: 5 }, { lonlat: [109.46054812145172, 36.592050037038575], value: 55 }, { lonlat: [109.45958516192611, 36.59014334083254], value: 45 }, { lonlat: [109.441690631703, 36.574861874203556], value: 45 }, { lonlat: [109.44624550826747, 36.57378190194129], value: 7 }, { lonlat: [109.4509010450875, 36.57331087985171], value: 7 }, { lonlat: [109.45600955305757, 36.573692403602315], value: 7 }, { lonlat: [109.45623603863253, 36.573058990448956], value: 7 }, { lonlat: [109.46174718762488, 36.57201959088281], value: 7 }, { lonlat: [109.46564777252813, 36.57459338262966], value: 7 }, { lonlat: [109.47100793113714, 36.57481251327233], value: 7 }, { lonlat: [109.47073111543428, 36.57287999199309], value: 7 }, { lonlat: [109.47181321318158, 36.57139400720595], value: 7 }, { lonlat: [109.47722370191836, 36.57685016603991], value: 7 }, { lonlat: [109.48097329643825, 36.57962676684916], value: 7 }, { lonlat: [109.49076250629228, 36.580657760474004], value: 7 }, { lonlat: [109.4908883316117, 36.57815705967815], value: 7 }, { lonlat: [109.48588048389708, 36.575696873317725], value: 7 }, { lonlat: [109.48555333806642, 36.57234345586721], value: 7 }, { lonlat: [109.48462223070236, 36.57114165197099], value: 7 }, { lonlat: [109.48494937653292, 36.569168438097215], value: 7 }, { lonlat: [109.48789368900827, 36.568575587318655], value: 7 }, { lonlat: [109.48701291177198, 36.56741432474017], value: 77 }, { lonlat: [109.48668576594132, 36.565197403953434], value: 77 }, { lonlat: [109.48661027074958, 36.56200594032002], value: 77 }, { lonlat: [109.48643411530227, 36.55950462918852], value: 7 }, { lonlat: [109.47872714141864, 36.55363535583412], value: 7 }, { lonlat: [109.47752130169793, 36.55237880798815], value: 7 }, { lonlat: [109.47659108248483, 36.550399478960415], value: 7 }, { lonlat: [109.47531633763725, 36.54680772057538], value: 7 }, { lonlat: [109.47714232349988, 36.538378228993835], value: 7 }, { lonlat: [109.47628100941364, 36.53678778825302], value: 7 }, { lonlat: [109.49119798128915, 36.57421937037934], value: 7 }, { lonlat: [109.49316811330803, 36.5763548006588], value: 7 }, { lonlat: [109.49201320833134, 36.5772533638739], value: 7 }, { lonlat: [109.49206173375048, 36.57869986536457], value: 7 }, { lonlat: [109.49288666587658, 36.57962971205523], value: 7 }, { lonlat: [109.4948373877278, 36.579792436760556], value: 7 }, { lonlat: [109.49405127593694, 36.581677232061956], value: 7 }, { lonlat: [109.49497325890142, 36.582200016243696], value: 7 }, { lonlat: [109.49599229270427, 36.581908742939454], value: 7 }, { lonlat: [109.49642902147689, 36.583276883316856], value: 56 }, { lonlat: [109.49692398075254, 36.58497374115537], value: 4 }, { lonlat: [109.49697250617166, 36.58646705928871], value: 4 }, { lonlat: [109.49781684846545, 36.58750638888238], value: 4 }, { lonlat: [109.49951870129331, 36.59430380170364], value: 3 }, { lonlat: [109.49965804385573, 36.59486501809594], value: 65 }, { lonlat: [109.49988842408676, 36.59649457072071], value: 76 }, { lonlat: [109.50008437575242, 36.59732109333835], value: 64 }, { lonlat: [109.49935516493218, 36.59831527959685], value: 43 }, { lonlat: [109.50060236752009, 36.60104441193055], value: 45 }, { lonlat: [109.50126321265897, 36.60358057739102], value: 23 }, { lonlat: [109.49942472380532, 36.604173438687546], value: 34 }, { lonlat: [109.5007026398301, 36.60501144006829], value: 6 }, { lonlat: [109.49901617072663, 36.605443415517875], value: 5 }, { lonlat: [109.50014206700124, 36.6054693718935], value: 5 }, { lonlat: [109.50184753857336, 36.6066137836571], value: 6 }, { lonlat: [109.50264089164449, 36.606042210978295], value: 6 }, { lonlat: [109.50362426940333, 36.606627392739135], value: 6 }, { lonlat: [109.5029639336135, 36.60551750543657], value: 6 }, { lonlat: [109.50313970644957, 36.60497656754981], value: 6 }, { lonlat: [109.50333489978382, 36.60424830824475], value: 6 }, { lonlat: [109.50498336394963, 36.60554595245176], value: 6 }, { lonlat: [109.5062137738025, 36.60733384990011], value: 6 }, { lonlat: [109.50681710218589, 36.607903700917404], value: 6 }, { lonlat: [109.5058527268957, 36.60992901196387], value: 6 }, { lonlat: [109.50458431210518, 36.61083589220665], value: 6 }, { lonlat: [109.5035629294087, 36.61163552050199], value: 6 }, { lonlat: [109.50728675442862, 36.60816923300994], value: 6 }, { lonlat: [109.50862770454853, 36.60957898993155], value: 6 }, { lonlat: [109.50900738849452, 36.611329111002924], value: 6 }, { lonlat: [109.5087728725542, 36.61263215550033], value: 6 }, { lonlat: [109.51196589727925, 36.61287834022912], value: 6 }, { lonlat: [109.51194785759148, 36.614481923277204], value: 6 }, { lonlat: [109.5131805695851, 36.614291799340485], value: 6 }, { lonlat: [109.51506271033638, 36.61535240611497], value: 6 }, { lonlat: [109.51550167607066, 36.616878374906946], value: 6 }, { lonlat: [109.5174078697389, 36.6167755151019], value: 6 }, { lonlat: [109.51728159192487, 36.61817541867955], value: 6 }, { lonlat: [109.51805729849644, 36.61931353190943], value: 6 }, { lonlat: [109.52015591550028, 36.61910403021254], value: 6 }, { lonlat: [109.52326378422758, 36.618323942249155], value: 6 }, { lonlat: [109.52535504124248, 36.621157617292155], value: 6 }, { lonlat: [109.52708365253223, 36.622782899894624], value: 6 }, { lonlat: [109.53062549244765, 36.62553845807305], value: 6 }, { lonlat: [109.53329698262276, 36.62472766573882], value: 6 }, { lonlat: [109.53529153411093, 36.62401430655811], value: 6 }, { lonlat: [109.53622232480538, 36.62273577119326], value: 6 }, { lonlat: [109.53555747430924, 36.62184699338395], value: 6 }, { lonlat: [109.5376787067582, 36.627153166827114], value: 6 }, { lonlat: [109.53979414015477, 36.62881729653026], value: 6 }, { lonlat: [109.54130516400943, 36.63016960226274], value: 6 }, { lonlat: [109.54008425673476, 36.63148291126323], value: 6 }, { lonlat: [109.53755782484959, 36.63369255351504], value: 6 }, { lonlat: [109.53614579982442, 36.6360575522797], value: 6 }, { lonlat: [109.53343812543821, 36.62040741435609], value: 6 }, { lonlat: [109.53580803843838, 36.62277137411824], value: 6 }, { lonlat: [109.54168042409255, 36.62849933558428], value: 6 }, { lonlat: [109.54288050769686, 36.63006645029258], value: 6 }, { lonlat: [109.54573448803326, 36.63312914358253], value: 6 }, { lonlat: [109.54725728319507, 36.636077923401025], value: 6 }, { lonlat: [109.54490753966712, 36.63712470479035], value: 6 }, { lonlat: [109.54219474563702, 36.63804142854716], value: 6 }, { lonlat: [109.53998618841547, 36.636568584052085], value: 6 }, { lonlat: [109.53464796833235, 36.63649472525616], value: 6 }, { lonlat: [109.53531650653413, 36.633497267658136], value: 6 }, { lonlat: [109.52895761991671, 36.63899560790742], value: 6 }, { lonlat: [109.52561492890752, 36.6410855206062], value: 6 }, { lonlat: [109.52130829909568, 36.6436264356986], value: 6 }, { lonlat: [109.51955144289083, 36.64125575007403], value: 6 }, { lonlat: [109.51807443988673, 36.63976209758932], value: 6 }, { lonlat: [109.51690838488348, 36.64107514503131], value: 6 }, { lonlat: [109.51689283748337, 36.643941824018825], value: 6 }, { lonlat: [109.51588225648054, 36.646106775610676], value: 6 }, { lonlat: [109.51409430547558, 36.64724431137258], value: 6 }, { lonlat: [109.51174664806909, 36.646327110237564], value: 6 }, { lonlat: [109.51070497226618, 36.648567165872755], value: 6 }, { lonlat: [109.50978767566362, 36.64972972191704], value: 6 }, { lonlat: [109.51067387746598, 36.650967429494266], value: 6 }, { lonlat: [109.51146679486808, 36.652280284952866], value: 6 }, { lonlat: [109.51191766946926, 36.65361817342491], value: 6 }, { lonlat: [109.51199540646942, 36.65525669873434], value: 6 }, { lonlat: [109.51428087427561, 36.655191468743396], value: 6 }, { lonlat: [109.51460736967644, 36.65357281224559], value: 6 }, { lonlat: [109.51353459907345, 36.65593792955656], value: 6 }, { lonlat: [109.50664710085456, 36.64933312632619], value: 6 }, { lonlat: [109.50327331504526, 36.64723825232908], value: 6 }, { lonlat: [109.50558987765153, 36.64807508399961], value: 28 }, { lonlat: [109.50703578585542, 36.64720800813199], value: 29 }, { lonlat: [109.50596301525242, 36.6462406907215], value: 28 }, { lonlat: [109.50380192664646, 36.647478454644535], value: 6 }, { lonlat: [109.50293172446254, 36.64689822474207], value: 6 }, { lonlat: [109.49977744553338, 36.648514140036085], value: 6 }, { lonlat: [109.49841675260586, 36.64788286957943], value: 5 }, { lonlat: [109.49667830356817, 36.64754979371535], value: 5 }, { lonlat: [109.49480514097309, 36.64623412909707], value: 5 }, { lonlat: [109.49194575265034, 36.64800589561177], value: 5 }, { lonlat: [109.48774678808107, 36.64818660580967], value: 5 }, { lonlat: [109.48778573951488, 36.65030081450137], value: 23 }, { lonlat: [109.49052013017122, 36.65182489248657], value: 34 }, { lonlat: [109.49386216319564, 36.653097849178344], value: 23 }, { lonlat: [109.49541243026289, 36.655375126863646], value: 34 }, { lonlat: [109.49376867975428, 36.65881983304358], value: 5 }, { lonlat: [109.49594216976315, 36.66097140773642], value: 5 }, { lonlat: [109.49674456930045, 36.662419955163955], value: 5 }, { lonlat: [109.49257676587825, 36.66373039429423], value: 5 }, { lonlat: [109.48954634432454, 36.66561822861078], value: 5 }, { lonlat: [109.48265911535468, 36.654995428105366], value: 5 }, { lonlat: [109.47853819629543, 36.65495490425706], value: 5 }, { lonlat: [109.47794031082658, 36.64600156969751], value: 5 }, { lonlat: [109.47947610116441, 36.638089580666374], value: 65 }, { lonlat: [109.48196313342223, 36.63989201277776], value: 66 }, { lonlat: [109.48007581107044, 36.63626409608854], value: 45 }, { lonlat: [109.48312727618112, 36.63616165277856], value: 43 }, { lonlat: [109.48487349031957, 36.63719648127574], value: 23 }, { lonlat: [109.48806606364347, 36.640221454017194], value: 65 }, { lonlat: [109.48968880809531, 36.64396832101501], value: 66 }, { lonlat: [109.49199945508674, 36.64370117513442], value: 77 }, { lonlat: [109.4886481350228, 36.64628232413764], value: 5 }, { lonlat: [109.48693719793754, 36.6481698459415], value: 5 }, { lonlat: [109.49295193552571, 36.64621960689284], value: 6 }, { lonlat: [109.4960034006364, 36.647282727565546], value: 5 }, { lonlat: [109.4991959739603, 36.64675388047846], value: 5 }, { lonlat: [109.50401129173616, 36.64690730406689], value: 5 }, { lonlat: [109.50575750587461, 36.64410416698772], value: 5 }, { lonlat: [109.5035879670964, 36.64221068329797], value: 5 }, { lonlat: [109.49916069690676, 36.63886718707988], value: 5 }, { lonlat: [109.4955447989431, 36.639105918699926], value: 34 }, { lonlat: [109.49207000919266, 36.63564855779099], value: 34 }, { lonlat: [109.48792495542945, 36.63128116433782], value: 23 }, { lonlat: [109.4824393736407, 36.62725474513087], value: 43 }, { lonlat: [109.48350796628219, 36.6240399916917], value: 5 }, { lonlat: [109.47904752109281, 36.617139346998826], value: 5 }, { lonlat: [109.47973483856029, 36.6163530732266], value: 5 }, { lonlat: [109.48169304493001, 36.61519041973535], value: 6 }, { lonlat: [109.48128150577406, 36.61652725739157], value: 5 }, { lonlat: [109.4856636114327, 36.61250054572504], value: 6 }, { lonlat: [109.48669837172288, 36.61390464711184], value: 5 }, { lonlat: [109.48778868961256, 36.61110958729933], value: 5 }, { lonlat: [109.48832343150745, 36.61186423919422], value: 5 }, { lonlat: [109.48855260660523, 36.61062565266084], value: 5 }, { lonlat: [109.49005960649093, 36.60966700183684], value: 5 }, { lonlat: [109.49101103038188, 36.608943504005595], value: 5 }, { lonlat: [109.49269164776588, 36.607944427600174], value: 5 }, { lonlat: [109.49137909947821, 36.60774724442752], value: 5 }, { lonlat: [109.49426114995096, 36.60713571424016], value: 5 }, { lonlat: [109.4965699550399, 36.6053070257893], value: 5 }, { lonlat: [109.49771583052903, 36.60506504012202], value: 5 }, { lonlat: [109.49879225901881, 36.60545019078856], value: 5 }, { lonlat: [109.49911865991568, 36.6049954268223], value: 5 }, { lonlat: [109.50854172185717, 36.60498562319275], value: 5 }, { lonlat: [109.51044938269962, 36.60552218657323], value: 5 }, { lonlat: [109.51212316173265, 36.60707867359568], value: 5 }, { lonlat: [109.51372557809377, 36.60793013404142], value: 5 }, { lonlat: [109.51465329282912, 36.60842590572189], value: 5 }, { lonlat: [109.51604810869001, 36.60896351865908], value: 5 }, { lonlat: [109.51735209933206, 36.609239601548374], value: 6 }, { lonlat: [109.51869501506792, 36.61021656939483], value: 6 }, { lonlat: [109.51997305564743, 36.61025204679149], value: 6 }, { lonlat: [109.52078399510141, 36.610674577473965], value: 6 }, { lonlat: [109.64885541010113, 36.68368750346818], value: 77 }, { lonlat: [109.64418083988407, 36.684106217976854], value: 77 }, { lonlat: [109.65730463327395, 36.68351820161691], value: 6 }, { lonlat: [109.66382903341632, 36.683373146319866], value: 53 }, { lonlat: [109.66365404950439, 36.68117431536967], value: 54 }, { lonlat: [109.66952850940268, 36.687351497043785], value: 56 }, { lonlat: [109.67765276245356, 36.68821312918963], value: 33 }, { lonlat: [109.67907763145014, 36.68818888405842], value: 23 }, { lonlat: [109.67620289575514, 36.68570831505293], value: 34 }, { lonlat: [109.66992847262958, 36.6839122446761], value: 6 }, { lonlat: [109.66315409547013, 36.68135099518023], value: 6 }, { lonlat: [109.68433055291582, 36.68853913721367], value: 6 }, { lonlat: [109.68255571609542, 36.69068926681356], value: 6 }, { lonlat: [109.68633036905133, 36.69126900476532], value: 77 }, { lonlat: [109.68605539433261, 36.69273456341231], value: 77 }, { lonlat: [109.68383059888168, 36.693435078555396], value: 6 }, { lonlat: [109.70500365221739, 36.69928917967537], value: 77 }, { lonlat: [109.70692847524785, 36.69970780952815], value: 77 }, { lonlat: [109.72405190090896, 36.70298488870231], value: 6 }, { lonlat: [109.72712178240528, 36.70196817888451], value: 34 }, { lonlat: [109.72395293859049, 36.701623796200366], value: 34 }, ]; let heatMapJeojson = {}; let heatMapFeatures = []; heatMapList.forEach(element => { let heatmap = turf.point(element.lonlat); heatmap.properties.value = element.value; gcoord.transform(heatmap, gcoord.BD09, gcoord.WGS84); heatMapFeatures.push(heatmap); }); heatMapJeojson = turf.featureCollection(heatMapFeatures); mapBoxVectorLayer.addHeatMapLayer(item2.layerKey, heatMapJeojson, 'value', true); heatMapJeojson.features.forEach(feature => { gcoord.transform(feature, gcoord.WGS84, gcoord.BD09); }); } else { mapBoxVectorLayer.removeByIds([item2.layerKey]); bus.emit('SiSeTuBol', false); } } //切换视角 if (item2.layerName.includes('视角')) { AllData.LayerData[0]['children'][5].layerVisible = false; AllData.LayerData[0]['children'][6].layerVisible = false; AllData.LayerData[0]['children'][7].layerVisible = false; AllData.LayerData[0]['children'][8].layerVisible = false; item2.layerVisible = !item2.layerVisible; item2.isCheck = item2.layerVisible; newfiberMapbox.map.easeTo({ center: item2.lonlat, zoom: item2.zoom, bearing: item2.bearing, pitch: item2.pitch, }); if (item2.layerName == '燃气视角') { bus.emit('setLayerVisible', { layername: 'rq_SZLH', isCheck: true }); bus.emit('setLayerVisible', { layername: 'sx_ya_smx_rq_line_sz', isCheck: true }); bus.emit('setLayerVisible', { layername: 'rq_TYLH', isCheck: true }); bus.emit('setLayerVisible', { layername: 'sx_ya_smx_rq_line_zg', isCheck: true }); } else { bus.emit('setLayerVisible', { layername: 'rq_SZLH', isCheck: false }); bus.emit('setLayerVisible', { layername: 'sx_ya_smx_rq_line_sz', isCheck: false }); bus.emit('setLayerVisible', { layername: 'rq_TYLH', isCheck: false }); bus.emit('setLayerVisible', { layername: 'sx_ya_smx_rq_line_zg', isCheck: false }); } } //切换地图 if (item2.layerKey == 'whiteMap') { AllData.LayerData[0]['children'][0].layerVisible = false; AllData.LayerData[0]['children'][2].layerVisible = false; let { data } = await axios.get('/static/libs/mapbox/style/customs/whiteMapStyle.json'); let newMapStyle; let oldMapStyle = newfiberMapbox.map.getStyle(); let oldIds = []; oldMapStyle.layers.forEach(layer => { oldIds.push(layer.id); }); let newIds = data.layers.map(i => i.id); oldIds.forEach(id => { let layer = data.layers[newIds.indexOf(id)]; if (!layer) return; Object.keys(layer.layout || {}).forEach(key => newfiberMapbox.map.setLayoutProperty(id, key, layer.layout[key])); Object.keys(layer.paint || {}).forEach(key => newfiberMapbox.map.setPaintProperty(id, key, layer.paint[key])); }); newfiberMapbox.map.setLayoutProperty('newfiber-XYZLayer', 'visibility', 'none'); } if (item2.layerKey == 'blackMap') { AllData.LayerData[0]['children'][1].layerVisible = false; AllData.LayerData[0]['children'][2].layerVisible = false; let { data } = await axios.get('/static/libs/mapbox/style/customs/night-style.json'); let newMapStyle; let oldMapStyle = newfiberMapbox.map.getStyle(); let oldIds = []; oldMapStyle.layers.forEach(layer => { oldIds.push(layer.id); }); let newIds = data.layers.map(i => i.id); oldIds.forEach(id => { let layer = data.layers[newIds.indexOf(id)]; if (!layer) return; Object.keys(layer.layout || {}).forEach(key => newfiberMapbox.map.setLayoutProperty(id, key, layer.layout[key])); Object.keys(layer.paint || {}).forEach(key => newfiberMapbox.map.setPaintProperty(id, key, layer.paint[key])); }); newfiberMapbox.map.setLayoutProperty('newfiber-XYZLayer', 'visibility', 'none'); } if (item2.layerKey == 'imageMap') { AllData.LayerData[0]['children'][0].layerVisible = false; AllData.LayerData[0]['children'][1].layerVisible = false; newfiberMapbox.map.setLayoutProperty('newfiber-XYZLayer', 'visibility', 'visible'); newfiberMapbox.map.moveLayer('newfiber-XYZLayer', 'buildingLayer', 'buildingLayer-top'); } //分区类图层 if (item2.areaData) { if (item2.isCheck) { mapBoxVectorLayer.addGeojsonPolygonWithLabel(item2.layerKey, item2.areaData); } else { mapBoxVectorLayer.removeByIds([item2.layerKey, item2.layerKey + '_label']); } } //三维建筑 if (item2.layerKey == 'buildingLayer') { if (item2.isCheck) { newfiberMapbox.map.setLayoutProperty('buildingLayer', 'visibility', 'visible'); newfiberMapbox.map.setLayoutProperty('buildingLayer-top', 'visibility', 'visible'); } else { newfiberMapbox.map.setLayoutProperty('buildingLayer', 'visibility', 'none'); newfiberMapbox.map.setLayoutProperty('buildingLayer-top', 'visibility', 'none'); } } //河堤岸线 if (item2.lineWithLabel) { if (item2.isCheck) { mapBoxVectorLayer.addGeojsonLineWithLabel(item2.layerKey, item2.lineWithLabel); if (item2.layerKey == 'fangHongWater') { let layer = new mapboxL7.LineLayer({ name: 'fangHongWater', }) .source(item2.lineWithLabel) .size(3) .shape('line') .texture('arrow') .color('rgba(243, 26, 237,1)') .animate({ interval: 2, // 间隔 duration: 3, // 持续时间,延时 trailLength: 3, // 流线长度 }) .style({ opacity: 0.8, lineTexture: true, // 开启线的贴图功能 iconStep: 200, // 设置贴图纹理的间距 borderWidth: 0.4, // 默认文 0,最大有效值为 0.5 borderColor: '#fff', // 默认为 #ccc }); newfiberMapbox.addLayer(layer); } } else { mapBoxVectorLayer.removeByIds([item2.layerKey, item2.layerKey + '_label']); if (newfiberMapbox.getLayerByName('fangHongWater')) { newfiberMapbox.removeLayer(newfiberMapbox.getLayerByName('fangHongWater')); } } } //路网 if (item2.layerKey == 'road') { if (item2.isCheck) { if (newfiberMapbox.getLayerByName('dynamicRoad')) { newfiberMapbox.removeLayer(newfiberMapbox.getLayerByName('dynamicRoad')); } let layer = new mapboxL7.LineLayer({ name: 'dynamicRoad', }) .source(item2.dynamicLineData) .size(1.3) .shape('line') .color('rgb(184, 184, 184)') .animate({ interval: 1, // 间隔 duration: 1.5, // 持续时间,延时 trailLength: 2, // 流线长度 }) .style({ opacity: 0.6, }); newfiberMapbox.addLayer(layer); } else { newfiberMapbox.removeLayer(newfiberMapbox.getLayerByName('dynamicRoad')); } } //水系 if (item2.layerKey == 'waterLake') { if (item2.isCheck) { if (newfiberMapbox.getLayerByName('waterLake')) { newfiberMapbox.removeLayer(newfiberMapbox.getLayerByName('waterLake')); } let layer = new mapboxL7.LineLayer({ name: 'waterLake', }) .source(item2.dynamicLineData) .size(4) .shape('line') .texture('arrow') .color('aqua') .animate({ interval: 2, // 间隔 duration: 3, // 持续时间,延时 trailLength: 3, // 流线长度 }) .style({ opacity: 0.8, lineTexture: true, // 开启线的贴图功能 iconStep: 200, // 设置贴图纹理的间距 borderWidth: 0.4, // 默认文 0,最大有效值为 0.5 borderColor: '#fff', // 默认为 #ccc }); newfiberMapbox.addLayer(layer); } else { newfiberMapbox.removeLayer(newfiberMapbox.getLayerByName('waterLake')); } } //仿真地图 if (item2.layerKey == 'fangZhenMap') { if (item2.isCheck) { mapBoxVectorLayer.load3DTiles(); AllData.LayerData[0]['children'][4].layerVisible = false; newfiberMapbox.removeLayer(newfiberMapbox.getLayerByName('testProjection')); mapBoxVectorLayer.removeByIds(['testProjection']); } else { mapBoxVectorLayer.remove3Dtiles(); } } //中心城区 if (item2.layerKey == 'centerCity') { if (item2.isCheck) { mapBoxVectorLayer.addGeojsonLine('centerCity', item2.dynamicLineData, 4, 1, 0.5); } else { mapBoxVectorLayer.removeByIds(['centerCity']); } } }; onMounted(() => { // 清除所有的图层选中 bus.on('clearAllLayer', () => { AllData.LayerData.forEach(data => { data.children.map(item => { // item.layerVisible = true; // 做优化,全局为True,再执行隐藏工作,页面调用api太多了,这里应该只将展示的图层进行取消操作就行 item.layerVisible ? layerClick(item) : ''; }); }); bus.emit('SiSeTuBol', false); }); /**控制图层的显示 *@param LayerArraya:需要打开的图层名称,示例:["路网","中心城区"] */ bus.on('SetLayerShow', LayerArraya => { AllData.LayerData.forEach(data => { data.children.map(item => { LayerArraya.includes(item.layerName) ? layerClick(item) : ''; }); }); }); }); onBeforeUnmount(() => { bus.off('clearAllLayer'); bus.off('SetLayerShow'); }); </script> <style lang="scss" scoped> .LayerControl { width: 190px; height: 688px; position: absolute; top: 150px; right: 476px; background: url('@/assets/images/Sponge_screen/TuChengBG.png') no-repeat center; background-size: contain; box-sizing: border-box; padding: 25px 0px; overflow: auto; z-index: 998; .GroupBox { width: 100%; height: auto; margin-bottom: 5px; .GroupName { width: 190px; height: 25px; line-height: 25px; background-image: url('@/assets/images/Sponge_screen/TuChengFenZuBG.png'), linear-gradient(to right, #1c899600, #1c8996, #1c899600); background-repeat: no-repeat; background-position: center; background-size: contain; font-family: Source Han Sans CN; font-weight: 500; font-size: 14px; color: #ffffff; text-align: center; cursor: pointer; } .TCListBox { width: 100%; height: auto; .TCList { width: 100%; height: 14px; margin-top: 10px; display: flex; color: #fff; cursor: pointer; flex-direction: row; flex-wrap: nowrap; align-content: center; justify-content: flex-start; align-items: center; box-sizing: border-box; padding-left: 20px; .TCList_Select { width: 14px; height: 14px; box-sizing: border-box; border: 1px solid #fff; } .TCList_Icon { width: 14px; height: 14px; margin: 0 10px; } .TCList_Name { font-family: Source Han Sans CN; font-weight: 500; font-size: 14px; height: 14px; line-height: 14px; } } .TCList_Check { color: #12f3ff; .TCList_Select { border: 1px solid #12f3ff; } } } } } .TuChengImgTrue { transform: translateX(460px); transition: all 1s ease; } .TuChengImgFalse { transform: translateX(0px); transition: all 1s ease; } // 动画 /* 进入和离开动画可以使用不同 持续时间和速度曲线。 */ .slideTC-enter-active, .slideTC-leave-active { transition: all 0.2s ease-out; } .slideTC-enter-from, .slideTC-leave-to { height: 0px; opacity: 0; } .Group-enter-active, .Group-leave-active { transition: all 1s ease; } .Group-enter-from, .Group-leave-to { height: 0px; } </style>