Newer
Older
urbanLifeline_YanAn / src / views / oneMap / LayerControl / LayerControl.vue
@jimengfei jimengfei 11 days ago 82 KB updata
<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: 'yanAnShequArea',
          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,
        },
      ],
    },
    {
      title: '部件设施',
      Show: true,
      children: [
        {
          layerName: '上水井盖',
          layerKey: 'shangshuijing',
          layerIcon: requireTuChengImg('tiaoYaQi'),
          layerVisible: false,
        },
        {
          layerName: '污水井盖',
          layerKey: 'wushuijing',
          layerIcon: requireTuChengImg('wsj'),
          layerVisible: false,
        },
        {
          layerName: '雨水井盖',
          layerKey: 'yushuijing',
          layerIcon: requireTuChengImg('ysj'),
          layerVisible: false,
        },
        {
          layerName: '雨水箅子',
          layerKey: 'yushuibizi',
          layerIcon: requireTuChengImg('ysbz_1'),
          layerVisible: false,
        },
        {
          layerName: '电力井盖',
          layerKey: 'dianlijing',
          layerIcon: requireTuChengImg('jiXingBaoHu'),
          layerVisible: false,
        },
        {
          layerName: '路灯井盖',
          layerKey: 'ludengjing',
          layerIcon: requireTuChengImg('rq_liuLiangJi'),
          layerVisible: false,
        },
        {
          layerName: '通信井盖',
          layerKey: 'tongxinjing',
          layerIcon: requireTuChengImg('jiedian_iocn'),
          layerVisible: false,
        },
        {
          layerName: '热力井盖',
          layerKey: 'relijing',
          layerIcon: requireTuChengImg('WSCLC'),
          layerVisible: false,
        },
        {
          layerName: '燃气井盖',
          layerKey: 'ranqijing',
          layerIcon: requireTuChengImg('pipeSupervise'),
          layerVisible: false,
        },
        {
          layerName: '消防设施',
          layerKey: 'xiaofangsheshi',
          layerIcon: requireTuChengImg('yiLaos'),
          layerVisible: false,
        },
        {
          layerName: '电缆井盖',
          layerKey: 'dianlanjing',
          layerIcon: requireTuChengImg('waterCourse_icon'),
          layerVisible: false,
        },
        {
          layerName: '中水井盖',
          layerKey: 'zhongshuijing',
          layerIcon: requireTuChengImg('shuiWeiJi_icon'),
          layerVisible: false,
        },
        {
          layerName: '燃气调压站(箱)',
          layerKey: 'rantitiaoyaxiang',
          layerIcon: requireTuChengImg('WSCs'),
          layerVisible: false,
        },
        {
          layerName: '露天燃气管道',
          layerKey: 'lutianranqiguandao',
          layerIcon: requireTuChengImg('YQGXMXs'),
          layerVisible: false,
        },
        {
          layerName: '车辆加油(气、电)站',
          layerKey: 'cheliangjiayouzhan',
          layerIcon: requireTuChengImg('orinigns'),
          layerVisible: false,
        },
      ],
    },
  ],
});
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)
    .concat(AllData.LayerData[5].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 {
      if (newfiberMapbox.getLayerByName('dynamicRoad')) {
        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, #1c8aff, #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>