diff --git a/public/images/people.png b/public/images/people.png index cde6186..c3508c2 100644 --- a/public/images/people.png +++ b/public/images/people.png Binary files differ diff --git a/public/images/people.png b/public/images/people.png index cde6186..c3508c2 100644 --- a/public/images/people.png +++ b/public/images/people.png Binary files differ diff --git a/src/utils/gis/NewFiberMapUtils.js b/src/utils/gis/NewFiberMapUtils.js index 72036d5..98e37cb 100644 --- a/src/utils/gis/NewFiberMapUtils.js +++ b/src/utils/gis/NewFiberMapUtils.js @@ -1,5 +1,4 @@ import request from "../request"; -import in_icon from "@/assets/images/gisMap/in.png"; import rainStation_icon from "@/assets/cesiumMap/legendIcon/rainStation_icon.png"; import spongeFacility_icon from "@/assets/cesiumMap/legendIcon/spongeFacility_icon.png"; @@ -18,7 +17,8 @@ //巡查默认专题图 defaultPatrolDemo:'defaultPatrolDemo', //排水防涝默认专题图 - defaultPreventWaterloggingDemo:'defaultPreventWaterloggingDemo' + defaultPreventWaterloggingDemo:'defaultPreventWaterloggingDemo', + weather_cloud:'weather_cloud' }, mapParams:{ geojson:{ @@ -77,7 +77,7 @@ static async defaultPatrolDemo(newfiberMap) { const {mapParams,keys} = NewFiberMapUtils.defaultParams; const defaulGeoJSONParams = _.cloneDeep(mapParams.geojson); - const icons = {ylz:rainStation_icon, hmss:spongeFacility_icon, car:in_icon}; + const icons = {ylz:rainStation_icon, hmss:spongeFacility_icon, car:"/images/people.png"}; NewFiberMapUtils.removeByIds([keys.defaultPatrolDemo]); let results = await Promise.all(['/static/json/malfunction.json','/static/json/track.json'].map(i => request(i))); @@ -91,6 +91,18 @@ let datas = turf.getCoords(feature.geometry).map(coords => ({l:coords[0],a:coords[1],height:10,time:10})); return new NewFiberMap.Layer.RunningPath({paths:datas,name, newfiberMap,options:{style:{move:icons.car},perSec:5,speed:10,pathColor:[38,178,107,1],passPathColor:[89,91,93,1], isStart:false, isEnd:false, fields:{lng:'l',lat:'a',height: 'height',time:'time'}}}); }); + + let timeout = setTimeout(() => { + newfiberMap.setView({ + lng: 114.312, + lat: 34.502, + heading: 2.281299097855777, + zoom: 16358.12942752382, + pitch: -25.2508969308367, + roll: 0.005453465256790101, + }); + clearTimeout(timeout); + }, 4000); } static async defaultPreventWaterlogging(newfiberMap){ @@ -232,10 +244,13 @@ let polygon = turf.bboxPolygon(bbox); let i = 0; polygon.properties.style_ = { - id: keys.defaultPreventWaterloggingDemo, + id: keys.weather_cloud, ...(_.cloneDeep((defaulGeoJSONParams.polygon))), options: Object.assign(defaulGeoJSONParams.polygon.options, { + show:false, material: new Cesium.ImageMaterialProperty({ + transparent: true, + alpha: 0.5, image: new Cesium.CallbackProperty(function () { return urls[i]; }) @@ -255,6 +270,5 @@ const {keys} = NewFiberMapUtils.defaultParams; newfiberMap.removeByIds(ids); if (ids.includes(keys.defaultPatrolDemo)) if (newfiberMap.patrolDemoTracks) newfiberMap.patrolDemoTracks.forEach(i => i.destroy()), newfiberMap.patrolDemoTracks = undefined; - if (ids.includes(keys.defaultPreventWaterloggingDemo)) newfiberMap.weatherInterVal && clearInterval(newfiberMap.weatherInterVal), newfiberMap.weatherInterVal = undefined; } } diff --git a/public/images/people.png b/public/images/people.png index cde6186..c3508c2 100644 --- a/public/images/people.png +++ b/public/images/people.png Binary files differ diff --git a/src/utils/gis/NewFiberMapUtils.js b/src/utils/gis/NewFiberMapUtils.js index 72036d5..98e37cb 100644 --- a/src/utils/gis/NewFiberMapUtils.js +++ b/src/utils/gis/NewFiberMapUtils.js @@ -1,5 +1,4 @@ import request from "../request"; -import in_icon from "@/assets/images/gisMap/in.png"; import rainStation_icon from "@/assets/cesiumMap/legendIcon/rainStation_icon.png"; import spongeFacility_icon from "@/assets/cesiumMap/legendIcon/spongeFacility_icon.png"; @@ -18,7 +17,8 @@ //巡查默认专题图 defaultPatrolDemo:'defaultPatrolDemo', //排水防涝默认专题图 - defaultPreventWaterloggingDemo:'defaultPreventWaterloggingDemo' + defaultPreventWaterloggingDemo:'defaultPreventWaterloggingDemo', + weather_cloud:'weather_cloud' }, mapParams:{ geojson:{ @@ -77,7 +77,7 @@ static async defaultPatrolDemo(newfiberMap) { const {mapParams,keys} = NewFiberMapUtils.defaultParams; const defaulGeoJSONParams = _.cloneDeep(mapParams.geojson); - const icons = {ylz:rainStation_icon, hmss:spongeFacility_icon, car:in_icon}; + const icons = {ylz:rainStation_icon, hmss:spongeFacility_icon, car:"/images/people.png"}; NewFiberMapUtils.removeByIds([keys.defaultPatrolDemo]); let results = await Promise.all(['/static/json/malfunction.json','/static/json/track.json'].map(i => request(i))); @@ -91,6 +91,18 @@ let datas = turf.getCoords(feature.geometry).map(coords => ({l:coords[0],a:coords[1],height:10,time:10})); return new NewFiberMap.Layer.RunningPath({paths:datas,name, newfiberMap,options:{style:{move:icons.car},perSec:5,speed:10,pathColor:[38,178,107,1],passPathColor:[89,91,93,1], isStart:false, isEnd:false, fields:{lng:'l',lat:'a',height: 'height',time:'time'}}}); }); + + let timeout = setTimeout(() => { + newfiberMap.setView({ + lng: 114.312, + lat: 34.502, + heading: 2.281299097855777, + zoom: 16358.12942752382, + pitch: -25.2508969308367, + roll: 0.005453465256790101, + }); + clearTimeout(timeout); + }, 4000); } static async defaultPreventWaterlogging(newfiberMap){ @@ -232,10 +244,13 @@ let polygon = turf.bboxPolygon(bbox); let i = 0; polygon.properties.style_ = { - id: keys.defaultPreventWaterloggingDemo, + id: keys.weather_cloud, ...(_.cloneDeep((defaulGeoJSONParams.polygon))), options: Object.assign(defaulGeoJSONParams.polygon.options, { + show:false, material: new Cesium.ImageMaterialProperty({ + transparent: true, + alpha: 0.5, image: new Cesium.CallbackProperty(function () { return urls[i]; }) @@ -255,6 +270,5 @@ const {keys} = NewFiberMapUtils.defaultParams; newfiberMap.removeByIds(ids); if (ids.includes(keys.defaultPatrolDemo)) if (newfiberMap.patrolDemoTracks) newfiberMap.patrolDemoTracks.forEach(i => i.destroy()), newfiberMap.patrolDemoTracks = undefined; - if (ids.includes(keys.defaultPreventWaterloggingDemo)) newfiberMap.weatherInterVal && clearInterval(newfiberMap.weatherInterVal), newfiberMap.weatherInterVal = undefined; } } diff --git a/src/views/sponeScreen/gisMF/cesiumMap.vue b/src/views/sponeScreen/gisMF/cesiumMap.vue index 962f02d..dbbff61 100644 --- a/src/views/sponeScreen/gisMF/cesiumMap.vue +++ b/src/views/sponeScreen/gisMF/cesiumMap.vue @@ -11,6 +11,7 @@ import changeMapStyle from './changeMapStyle.js'; import topography from '@/assets/newImgs/topography.png'; import cesiumPopup from '@/views/sponeScreen/gisMF/cesiumPopup.vue'; +import NewFiberMapUtils from '@/utils/gis/NewFiberMapUtils'; import bus from '@/bus/index'; const { proxy } = getCurrentInstance(); const dataList = ref({}); @@ -59,6 +60,7 @@ }); } }); + NewFiberMapUtils.weatherToMap(newfiberMap); }; onMounted(() => { diff --git a/public/images/people.png b/public/images/people.png index cde6186..c3508c2 100644 --- a/public/images/people.png +++ b/public/images/people.png Binary files differ diff --git a/src/utils/gis/NewFiberMapUtils.js b/src/utils/gis/NewFiberMapUtils.js index 72036d5..98e37cb 100644 --- a/src/utils/gis/NewFiberMapUtils.js +++ b/src/utils/gis/NewFiberMapUtils.js @@ -1,5 +1,4 @@ import request from "../request"; -import in_icon from "@/assets/images/gisMap/in.png"; import rainStation_icon from "@/assets/cesiumMap/legendIcon/rainStation_icon.png"; import spongeFacility_icon from "@/assets/cesiumMap/legendIcon/spongeFacility_icon.png"; @@ -18,7 +17,8 @@ //巡查默认专题图 defaultPatrolDemo:'defaultPatrolDemo', //排水防涝默认专题图 - defaultPreventWaterloggingDemo:'defaultPreventWaterloggingDemo' + defaultPreventWaterloggingDemo:'defaultPreventWaterloggingDemo', + weather_cloud:'weather_cloud' }, mapParams:{ geojson:{ @@ -77,7 +77,7 @@ static async defaultPatrolDemo(newfiberMap) { const {mapParams,keys} = NewFiberMapUtils.defaultParams; const defaulGeoJSONParams = _.cloneDeep(mapParams.geojson); - const icons = {ylz:rainStation_icon, hmss:spongeFacility_icon, car:in_icon}; + const icons = {ylz:rainStation_icon, hmss:spongeFacility_icon, car:"/images/people.png"}; NewFiberMapUtils.removeByIds([keys.defaultPatrolDemo]); let results = await Promise.all(['/static/json/malfunction.json','/static/json/track.json'].map(i => request(i))); @@ -91,6 +91,18 @@ let datas = turf.getCoords(feature.geometry).map(coords => ({l:coords[0],a:coords[1],height:10,time:10})); return new NewFiberMap.Layer.RunningPath({paths:datas,name, newfiberMap,options:{style:{move:icons.car},perSec:5,speed:10,pathColor:[38,178,107,1],passPathColor:[89,91,93,1], isStart:false, isEnd:false, fields:{lng:'l',lat:'a',height: 'height',time:'time'}}}); }); + + let timeout = setTimeout(() => { + newfiberMap.setView({ + lng: 114.312, + lat: 34.502, + heading: 2.281299097855777, + zoom: 16358.12942752382, + pitch: -25.2508969308367, + roll: 0.005453465256790101, + }); + clearTimeout(timeout); + }, 4000); } static async defaultPreventWaterlogging(newfiberMap){ @@ -232,10 +244,13 @@ let polygon = turf.bboxPolygon(bbox); let i = 0; polygon.properties.style_ = { - id: keys.defaultPreventWaterloggingDemo, + id: keys.weather_cloud, ...(_.cloneDeep((defaulGeoJSONParams.polygon))), options: Object.assign(defaulGeoJSONParams.polygon.options, { + show:false, material: new Cesium.ImageMaterialProperty({ + transparent: true, + alpha: 0.5, image: new Cesium.CallbackProperty(function () { return urls[i]; }) @@ -255,6 +270,5 @@ const {keys} = NewFiberMapUtils.defaultParams; newfiberMap.removeByIds(ids); if (ids.includes(keys.defaultPatrolDemo)) if (newfiberMap.patrolDemoTracks) newfiberMap.patrolDemoTracks.forEach(i => i.destroy()), newfiberMap.patrolDemoTracks = undefined; - if (ids.includes(keys.defaultPreventWaterloggingDemo)) newfiberMap.weatherInterVal && clearInterval(newfiberMap.weatherInterVal), newfiberMap.weatherInterVal = undefined; } } diff --git a/src/views/sponeScreen/gisMF/cesiumMap.vue b/src/views/sponeScreen/gisMF/cesiumMap.vue index 962f02d..dbbff61 100644 --- a/src/views/sponeScreen/gisMF/cesiumMap.vue +++ b/src/views/sponeScreen/gisMF/cesiumMap.vue @@ -11,6 +11,7 @@ import changeMapStyle from './changeMapStyle.js'; import topography from '@/assets/newImgs/topography.png'; import cesiumPopup from '@/views/sponeScreen/gisMF/cesiumPopup.vue'; +import NewFiberMapUtils from '@/utils/gis/NewFiberMapUtils'; import bus from '@/bus/index'; const { proxy } = getCurrentInstance(); const dataList = ref({}); @@ -59,6 +60,7 @@ }); } }); + NewFiberMapUtils.weatherToMap(newfiberMap); }; onMounted(() => { diff --git a/src/views/sponeScreen/gisMF/cesiumMapLegend.js b/src/views/sponeScreen/gisMF/cesiumMapLegend.js index 7679375..56cf231 100644 --- a/src/views/sponeScreen/gisMF/cesiumMapLegend.js +++ b/src/views/sponeScreen/gisMF/cesiumMapLegend.js @@ -4,25 +4,31 @@ import riverLake from '@/assets/geojson/kaifeng/riverLake.json'; import pipeFlow from '@/assets/geojson/kaifeng/pipeFlow.json'; import { oneMapFacilityPumpList } from '@/api/scada/pumpStationInformation'; +import { facilitySewageList } from '@/api/scada/sewage'; import bus from '@/bus'; -let YSBZ, WSBZ, HLBZ; +let YSBZ, WSBZ, HLBZ,WSCLC; let legendDataList; export default class cesiumMapCommonLegend { //获取站点数据 static async getStationData() { + let results = await Promise.all([oneMapFacilityPumpList(), facilitySewageList()]); + let resRainwater = results[0]; + let resWSCLC = results[1]; //雨水泵站 - let resRainwater = await oneMapFacilityPumpList(); - if (resRainwater && resRainwater.code == 200) { - let YSBZDataList = resRainwater.data.filter(data => data.pumpType == 'rain_water'); - let WSBZDataList = resRainwater.data.filter(data => data.pumpType == 'sewage_water'); - let HLBZDataList = resRainwater.data.filter(data => data.pumpType == 'confluence'); - YSBZ = this.getGeojsonData(YSBZDataList); - WSBZ = this.getGeojsonData(WSBZDataList); - HLBZ = this.getGeojsonData(HLBZDataList); - //发送图例 - legendDataList = this.legendData(); - bus.emit('legendDataList', legendDataList); - } + let YSBZDataList = resRainwater.data.filter(data => data.pumpType == 'rain_water'); + let WSBZDataList = resRainwater.data.filter(data => data.pumpType == 'sewage_water'); + let HLBZDataList = resRainwater.data.filter(data => data.pumpType == 'confluence'); + YSBZ = this.getGeojsonData(YSBZDataList); + WSBZ = this.getGeojsonData(WSBZDataList); + HLBZ = this.getGeojsonData(HLBZDataList); + + let WSCLCDataList = resWSCLC.data; + WSCLC = this.getGeojsonData(WSCLCDataList); + debugger; + + //发送图例 + legendDataList = this.legendData(); + bus.emit('legendDataList', legendDataList); } //构建geojson格式 static getGeojsonData(dataList) { @@ -182,6 +188,13 @@ layername: 'cesiumPaishuiArea3', type: 'cesiumPaishuiArea', }, + { + isCheck: false, + name: '气象云图', + url: 'paiShuiArea3_icon.png', + layername: 'weather_cloud', + type: 'weather_cloud', + } ], ], }, @@ -266,7 +279,7 @@ url: 'sewageFactory_icon.png', mapUrl: 'WSC.png', type: 'point', - //data: WSCLC, + data: WSCLC, //data: wuShuiChang, }, { diff --git a/public/images/people.png b/public/images/people.png index cde6186..c3508c2 100644 --- a/public/images/people.png +++ b/public/images/people.png Binary files differ diff --git a/src/utils/gis/NewFiberMapUtils.js b/src/utils/gis/NewFiberMapUtils.js index 72036d5..98e37cb 100644 --- a/src/utils/gis/NewFiberMapUtils.js +++ b/src/utils/gis/NewFiberMapUtils.js @@ -1,5 +1,4 @@ import request from "../request"; -import in_icon from "@/assets/images/gisMap/in.png"; import rainStation_icon from "@/assets/cesiumMap/legendIcon/rainStation_icon.png"; import spongeFacility_icon from "@/assets/cesiumMap/legendIcon/spongeFacility_icon.png"; @@ -18,7 +17,8 @@ //巡查默认专题图 defaultPatrolDemo:'defaultPatrolDemo', //排水防涝默认专题图 - defaultPreventWaterloggingDemo:'defaultPreventWaterloggingDemo' + defaultPreventWaterloggingDemo:'defaultPreventWaterloggingDemo', + weather_cloud:'weather_cloud' }, mapParams:{ geojson:{ @@ -77,7 +77,7 @@ static async defaultPatrolDemo(newfiberMap) { const {mapParams,keys} = NewFiberMapUtils.defaultParams; const defaulGeoJSONParams = _.cloneDeep(mapParams.geojson); - const icons = {ylz:rainStation_icon, hmss:spongeFacility_icon, car:in_icon}; + const icons = {ylz:rainStation_icon, hmss:spongeFacility_icon, car:"/images/people.png"}; NewFiberMapUtils.removeByIds([keys.defaultPatrolDemo]); let results = await Promise.all(['/static/json/malfunction.json','/static/json/track.json'].map(i => request(i))); @@ -91,6 +91,18 @@ let datas = turf.getCoords(feature.geometry).map(coords => ({l:coords[0],a:coords[1],height:10,time:10})); return new NewFiberMap.Layer.RunningPath({paths:datas,name, newfiberMap,options:{style:{move:icons.car},perSec:5,speed:10,pathColor:[38,178,107,1],passPathColor:[89,91,93,1], isStart:false, isEnd:false, fields:{lng:'l',lat:'a',height: 'height',time:'time'}}}); }); + + let timeout = setTimeout(() => { + newfiberMap.setView({ + lng: 114.312, + lat: 34.502, + heading: 2.281299097855777, + zoom: 16358.12942752382, + pitch: -25.2508969308367, + roll: 0.005453465256790101, + }); + clearTimeout(timeout); + }, 4000); } static async defaultPreventWaterlogging(newfiberMap){ @@ -232,10 +244,13 @@ let polygon = turf.bboxPolygon(bbox); let i = 0; polygon.properties.style_ = { - id: keys.defaultPreventWaterloggingDemo, + id: keys.weather_cloud, ...(_.cloneDeep((defaulGeoJSONParams.polygon))), options: Object.assign(defaulGeoJSONParams.polygon.options, { + show:false, material: new Cesium.ImageMaterialProperty({ + transparent: true, + alpha: 0.5, image: new Cesium.CallbackProperty(function () { return urls[i]; }) @@ -255,6 +270,5 @@ const {keys} = NewFiberMapUtils.defaultParams; newfiberMap.removeByIds(ids); if (ids.includes(keys.defaultPatrolDemo)) if (newfiberMap.patrolDemoTracks) newfiberMap.patrolDemoTracks.forEach(i => i.destroy()), newfiberMap.patrolDemoTracks = undefined; - if (ids.includes(keys.defaultPreventWaterloggingDemo)) newfiberMap.weatherInterVal && clearInterval(newfiberMap.weatherInterVal), newfiberMap.weatherInterVal = undefined; } } diff --git a/src/views/sponeScreen/gisMF/cesiumMap.vue b/src/views/sponeScreen/gisMF/cesiumMap.vue index 962f02d..dbbff61 100644 --- a/src/views/sponeScreen/gisMF/cesiumMap.vue +++ b/src/views/sponeScreen/gisMF/cesiumMap.vue @@ -11,6 +11,7 @@ import changeMapStyle from './changeMapStyle.js'; import topography from '@/assets/newImgs/topography.png'; import cesiumPopup from '@/views/sponeScreen/gisMF/cesiumPopup.vue'; +import NewFiberMapUtils from '@/utils/gis/NewFiberMapUtils'; import bus from '@/bus/index'; const { proxy } = getCurrentInstance(); const dataList = ref({}); @@ -59,6 +60,7 @@ }); } }); + NewFiberMapUtils.weatherToMap(newfiberMap); }; onMounted(() => { diff --git a/src/views/sponeScreen/gisMF/cesiumMapLegend.js b/src/views/sponeScreen/gisMF/cesiumMapLegend.js index 7679375..56cf231 100644 --- a/src/views/sponeScreen/gisMF/cesiumMapLegend.js +++ b/src/views/sponeScreen/gisMF/cesiumMapLegend.js @@ -4,25 +4,31 @@ import riverLake from '@/assets/geojson/kaifeng/riverLake.json'; import pipeFlow from '@/assets/geojson/kaifeng/pipeFlow.json'; import { oneMapFacilityPumpList } from '@/api/scada/pumpStationInformation'; +import { facilitySewageList } from '@/api/scada/sewage'; import bus from '@/bus'; -let YSBZ, WSBZ, HLBZ; +let YSBZ, WSBZ, HLBZ,WSCLC; let legendDataList; export default class cesiumMapCommonLegend { //获取站点数据 static async getStationData() { + let results = await Promise.all([oneMapFacilityPumpList(), facilitySewageList()]); + let resRainwater = results[0]; + let resWSCLC = results[1]; //雨水泵站 - let resRainwater = await oneMapFacilityPumpList(); - if (resRainwater && resRainwater.code == 200) { - let YSBZDataList = resRainwater.data.filter(data => data.pumpType == 'rain_water'); - let WSBZDataList = resRainwater.data.filter(data => data.pumpType == 'sewage_water'); - let HLBZDataList = resRainwater.data.filter(data => data.pumpType == 'confluence'); - YSBZ = this.getGeojsonData(YSBZDataList); - WSBZ = this.getGeojsonData(WSBZDataList); - HLBZ = this.getGeojsonData(HLBZDataList); - //发送图例 - legendDataList = this.legendData(); - bus.emit('legendDataList', legendDataList); - } + let YSBZDataList = resRainwater.data.filter(data => data.pumpType == 'rain_water'); + let WSBZDataList = resRainwater.data.filter(data => data.pumpType == 'sewage_water'); + let HLBZDataList = resRainwater.data.filter(data => data.pumpType == 'confluence'); + YSBZ = this.getGeojsonData(YSBZDataList); + WSBZ = this.getGeojsonData(WSBZDataList); + HLBZ = this.getGeojsonData(HLBZDataList); + + let WSCLCDataList = resWSCLC.data; + WSCLC = this.getGeojsonData(WSCLCDataList); + debugger; + + //发送图例 + legendDataList = this.legendData(); + bus.emit('legendDataList', legendDataList); } //构建geojson格式 static getGeojsonData(dataList) { @@ -182,6 +188,13 @@ layername: 'cesiumPaishuiArea3', type: 'cesiumPaishuiArea', }, + { + isCheck: false, + name: '气象云图', + url: 'paiShuiArea3_icon.png', + layername: 'weather_cloud', + type: 'weather_cloud', + } ], ], }, @@ -266,7 +279,7 @@ url: 'sewageFactory_icon.png', mapUrl: 'WSC.png', type: 'point', - //data: WSCLC, + data: WSCLC, //data: wuShuiChang, }, { diff --git a/src/views/sponeScreen/gisMF/legendKF.vue b/src/views/sponeScreen/gisMF/legendKF.vue index 1a05fcb..08d59ff 100644 --- a/src/views/sponeScreen/gisMF/legendKF.vue +++ b/src/views/sponeScreen/gisMF/legendKF.vue @@ -70,6 +70,9 @@ const changeLegend = item => { item.isCheck = !item.isCheck; console.log('item--', item); + if(item.layername == 'weather_cloud'){ + return newfiberMap.setLayersVisible([item.layername],item.isCheck); + } if (item.layername == 'whiteMap') { legendList.value[0]['children'][0][1].isCheck = false; legendList.value[0]['children'][1][0].isCheck = false; @@ -122,6 +125,9 @@ if (item.type == 'polygon') { newfiberVectorLayer.addGeojsonPolygon(newfiberMap, item.data, item.layername); } + if (item.type == 'point') { + newfiberVectorLayer.addGeojsonPoint(newfiberMap, item.data,item.url, item.layername); + } if (item.type == 'areaWall') { newfiberVectorLayer.addGeojsonWall(newfiberMap, item.data, item.layername); } diff --git a/public/images/people.png b/public/images/people.png index cde6186..c3508c2 100644 --- a/public/images/people.png +++ b/public/images/people.png Binary files differ diff --git a/src/utils/gis/NewFiberMapUtils.js b/src/utils/gis/NewFiberMapUtils.js index 72036d5..98e37cb 100644 --- a/src/utils/gis/NewFiberMapUtils.js +++ b/src/utils/gis/NewFiberMapUtils.js @@ -1,5 +1,4 @@ import request from "../request"; -import in_icon from "@/assets/images/gisMap/in.png"; import rainStation_icon from "@/assets/cesiumMap/legendIcon/rainStation_icon.png"; import spongeFacility_icon from "@/assets/cesiumMap/legendIcon/spongeFacility_icon.png"; @@ -18,7 +17,8 @@ //巡查默认专题图 defaultPatrolDemo:'defaultPatrolDemo', //排水防涝默认专题图 - defaultPreventWaterloggingDemo:'defaultPreventWaterloggingDemo' + defaultPreventWaterloggingDemo:'defaultPreventWaterloggingDemo', + weather_cloud:'weather_cloud' }, mapParams:{ geojson:{ @@ -77,7 +77,7 @@ static async defaultPatrolDemo(newfiberMap) { const {mapParams,keys} = NewFiberMapUtils.defaultParams; const defaulGeoJSONParams = _.cloneDeep(mapParams.geojson); - const icons = {ylz:rainStation_icon, hmss:spongeFacility_icon, car:in_icon}; + const icons = {ylz:rainStation_icon, hmss:spongeFacility_icon, car:"/images/people.png"}; NewFiberMapUtils.removeByIds([keys.defaultPatrolDemo]); let results = await Promise.all(['/static/json/malfunction.json','/static/json/track.json'].map(i => request(i))); @@ -91,6 +91,18 @@ let datas = turf.getCoords(feature.geometry).map(coords => ({l:coords[0],a:coords[1],height:10,time:10})); return new NewFiberMap.Layer.RunningPath({paths:datas,name, newfiberMap,options:{style:{move:icons.car},perSec:5,speed:10,pathColor:[38,178,107,1],passPathColor:[89,91,93,1], isStart:false, isEnd:false, fields:{lng:'l',lat:'a',height: 'height',time:'time'}}}); }); + + let timeout = setTimeout(() => { + newfiberMap.setView({ + lng: 114.312, + lat: 34.502, + heading: 2.281299097855777, + zoom: 16358.12942752382, + pitch: -25.2508969308367, + roll: 0.005453465256790101, + }); + clearTimeout(timeout); + }, 4000); } static async defaultPreventWaterlogging(newfiberMap){ @@ -232,10 +244,13 @@ let polygon = turf.bboxPolygon(bbox); let i = 0; polygon.properties.style_ = { - id: keys.defaultPreventWaterloggingDemo, + id: keys.weather_cloud, ...(_.cloneDeep((defaulGeoJSONParams.polygon))), options: Object.assign(defaulGeoJSONParams.polygon.options, { + show:false, material: new Cesium.ImageMaterialProperty({ + transparent: true, + alpha: 0.5, image: new Cesium.CallbackProperty(function () { return urls[i]; }) @@ -255,6 +270,5 @@ const {keys} = NewFiberMapUtils.defaultParams; newfiberMap.removeByIds(ids); if (ids.includes(keys.defaultPatrolDemo)) if (newfiberMap.patrolDemoTracks) newfiberMap.patrolDemoTracks.forEach(i => i.destroy()), newfiberMap.patrolDemoTracks = undefined; - if (ids.includes(keys.defaultPreventWaterloggingDemo)) newfiberMap.weatherInterVal && clearInterval(newfiberMap.weatherInterVal), newfiberMap.weatherInterVal = undefined; } } diff --git a/src/views/sponeScreen/gisMF/cesiumMap.vue b/src/views/sponeScreen/gisMF/cesiumMap.vue index 962f02d..dbbff61 100644 --- a/src/views/sponeScreen/gisMF/cesiumMap.vue +++ b/src/views/sponeScreen/gisMF/cesiumMap.vue @@ -11,6 +11,7 @@ import changeMapStyle from './changeMapStyle.js'; import topography from '@/assets/newImgs/topography.png'; import cesiumPopup from '@/views/sponeScreen/gisMF/cesiumPopup.vue'; +import NewFiberMapUtils from '@/utils/gis/NewFiberMapUtils'; import bus from '@/bus/index'; const { proxy } = getCurrentInstance(); const dataList = ref({}); @@ -59,6 +60,7 @@ }); } }); + NewFiberMapUtils.weatherToMap(newfiberMap); }; onMounted(() => { diff --git a/src/views/sponeScreen/gisMF/cesiumMapLegend.js b/src/views/sponeScreen/gisMF/cesiumMapLegend.js index 7679375..56cf231 100644 --- a/src/views/sponeScreen/gisMF/cesiumMapLegend.js +++ b/src/views/sponeScreen/gisMF/cesiumMapLegend.js @@ -4,25 +4,31 @@ import riverLake from '@/assets/geojson/kaifeng/riverLake.json'; import pipeFlow from '@/assets/geojson/kaifeng/pipeFlow.json'; import { oneMapFacilityPumpList } from '@/api/scada/pumpStationInformation'; +import { facilitySewageList } from '@/api/scada/sewage'; import bus from '@/bus'; -let YSBZ, WSBZ, HLBZ; +let YSBZ, WSBZ, HLBZ,WSCLC; let legendDataList; export default class cesiumMapCommonLegend { //获取站点数据 static async getStationData() { + let results = await Promise.all([oneMapFacilityPumpList(), facilitySewageList()]); + let resRainwater = results[0]; + let resWSCLC = results[1]; //雨水泵站 - let resRainwater = await oneMapFacilityPumpList(); - if (resRainwater && resRainwater.code == 200) { - let YSBZDataList = resRainwater.data.filter(data => data.pumpType == 'rain_water'); - let WSBZDataList = resRainwater.data.filter(data => data.pumpType == 'sewage_water'); - let HLBZDataList = resRainwater.data.filter(data => data.pumpType == 'confluence'); - YSBZ = this.getGeojsonData(YSBZDataList); - WSBZ = this.getGeojsonData(WSBZDataList); - HLBZ = this.getGeojsonData(HLBZDataList); - //发送图例 - legendDataList = this.legendData(); - bus.emit('legendDataList', legendDataList); - } + let YSBZDataList = resRainwater.data.filter(data => data.pumpType == 'rain_water'); + let WSBZDataList = resRainwater.data.filter(data => data.pumpType == 'sewage_water'); + let HLBZDataList = resRainwater.data.filter(data => data.pumpType == 'confluence'); + YSBZ = this.getGeojsonData(YSBZDataList); + WSBZ = this.getGeojsonData(WSBZDataList); + HLBZ = this.getGeojsonData(HLBZDataList); + + let WSCLCDataList = resWSCLC.data; + WSCLC = this.getGeojsonData(WSCLCDataList); + debugger; + + //发送图例 + legendDataList = this.legendData(); + bus.emit('legendDataList', legendDataList); } //构建geojson格式 static getGeojsonData(dataList) { @@ -182,6 +188,13 @@ layername: 'cesiumPaishuiArea3', type: 'cesiumPaishuiArea', }, + { + isCheck: false, + name: '气象云图', + url: 'paiShuiArea3_icon.png', + layername: 'weather_cloud', + type: 'weather_cloud', + } ], ], }, @@ -266,7 +279,7 @@ url: 'sewageFactory_icon.png', mapUrl: 'WSC.png', type: 'point', - //data: WSCLC, + data: WSCLC, //data: wuShuiChang, }, { diff --git a/src/views/sponeScreen/gisMF/legendKF.vue b/src/views/sponeScreen/gisMF/legendKF.vue index 1a05fcb..08d59ff 100644 --- a/src/views/sponeScreen/gisMF/legendKF.vue +++ b/src/views/sponeScreen/gisMF/legendKF.vue @@ -70,6 +70,9 @@ const changeLegend = item => { item.isCheck = !item.isCheck; console.log('item--', item); + if(item.layername == 'weather_cloud'){ + return newfiberMap.setLayersVisible([item.layername],item.isCheck); + } if (item.layername == 'whiteMap') { legendList.value[0]['children'][0][1].isCheck = false; legendList.value[0]['children'][1][0].isCheck = false; @@ -122,6 +125,9 @@ if (item.type == 'polygon') { newfiberVectorLayer.addGeojsonPolygon(newfiberMap, item.data, item.layername); } + if (item.type == 'point') { + newfiberVectorLayer.addGeojsonPoint(newfiberMap, item.data,item.url, item.layername); + } if (item.type == 'areaWall') { newfiberVectorLayer.addGeojsonWall(newfiberMap, item.data, item.layername); } diff --git a/src/views/sponeScreen/gisMF/newfiberVectorLayer.js b/src/views/sponeScreen/gisMF/newfiberVectorLayer.js index 6c31749..fb8921c 100644 --- a/src/views/sponeScreen/gisMF/newfiberVectorLayer.js +++ b/src/views/sponeScreen/gisMF/newfiberVectorLayer.js @@ -14,7 +14,7 @@ pixelOffset: [0, 0], distanceDisplayCondition: [Number.MIN_VALUE, 7000000], }, - name: feature.properties.name || feature.properties.pumpName || feature.properties.projectAbbreviation, + name: feature.properties.name || feature.properties.pumpName || feature.properties.projectAbbreviation || feature.properties.sewageName, id: newfiberId, labelOptions: { font: '16px PingFang SC',