diff --git a/src/views/overview/overviewSimple.vue b/src/views/overview/overviewSimple.vue index 44e5708..c3b9722 100644 --- a/src/views/overview/overviewSimple.vue +++ b/src/views/overview/overviewSimple.vue @@ -84,24 +84,23 @@ var alarmIcons= [] var typeList = [] - var ysline= null - var wsline= null - var underground= null - var img_layer= null - var tile_layer= null - var tiles3dLayer= null - var rain_point_layer= null - var rain_point_layer1= null - var sewage_point_layer= null - var alarm_layer= null - var fly_layer= null - + var ysline = null + var wsline = null + var underground = null + var img_layer = null + var tile_layer = null + var tiles3dLayer = null + var rain_point_layer = null + var rain_point_layer1 = null + var sewage_point_layer = null + var alarm_layer = null + var fly_layer = null + var building = null export default { name: 'OverviewSimple', components: { DeptSelect, SelectTree }, data() { return { - type: 'massMarkers', // 加载数据方式:massMarkers或cluster refreshType: 'websocket', // 刷新数据方式:clock或websocket showAlarm: true, // 是否显示报警 @@ -185,6 +184,11 @@ window.map.basemap.opacity = val/100 // this.tiles3dLayer.opacity = val/100 //删 underground.alpha = val/100 + if(building !== null){ + building.setStyle({ + opacity: val/100 + }) + } if(val<=90 && window.map.level>=19){ // window.map.scene.globe.show = false // ysline.show = false @@ -301,11 +305,12 @@ // window.map.addLayer(rain_point_layer1) }, // 初始化放这里 + // lat: 35.9, lng: 120.2384, alt: 10000, heading: 360, pitch: -45 async initmars3d() { var mapOptions = { scene: { // 默认视角参数 - center: { lat: 35.9, lng: 120.2384, alt: 10000, heading: 360, pitch: -45 }, + center: { lat: 35.97, lng: 120.2384, alt: 2000, heading: 360, pitch: -45 }, // 以下是Cesium.Globe对象相关参数 globe: { depthTestAgainstTerrain: true, // 是否启用深度监测 @@ -369,12 +374,16 @@ map.scene.screenSpaceCameraController.zoomEventTypes = [Cesium.CameraEventType.MIDDLE_DRAG, Cesium.CameraEventType.WHEEL, Cesium.CameraEventType.PINCH] // 鼠标左键平移 map.scene.screenSpaceCameraController.rotateEventTypes = [Cesium.CameraEventType.LEFT_DRAG] + let bloomEffect = new mars3d.effect.BloomEffect({ + enabled: true + }) + map.addEffect(bloomEffect) window.map = map underground = new mars3d.thing.Underground({ - alpha: 0.4, + alpha: this.alpha/100, }) map.addThing(underground) - window.map.basemap.opacity = 0.4 + window.map.basemap.opacity = this.alpha/100 let that = this this.handler.setInputAction(function(movement) { if(window.map.level<19){ @@ -391,15 +400,199 @@ // lat: 35.9, lng: 120.2384, let graphicLayer = new mars3d.layer.GraphicLayer() map.addLayer(graphicLayer) - let primitive = new mars3d.graphic.ModelPrimitive({ + + building = new mars3d.graphic.ModelPrimitive({ position: [120.242, 35.98342, 0], style: { url: '../static/model/m1/m1.gltf', scale: 100, - heading: 19.9 + heading: 19.9, + opacity: this.alpha/100 } }) - graphicLayer.addGraphic(primitive) + graphicLayer.addGraphic(building) + + var handler = new Cesium.ScreenSpaceEventHandler( map.viewer.canvas); + handler.setInputAction(function(evt) { + var cartesian=map.viewer.camera.pickEllipsoid(evt.position,map.viewer.scene.globe.ellipsoid); + + var cartographic=Cesium.Cartographic.fromCartesian(cartesian); + + var lng=Cesium.Math.toDegrees(cartographic.longitude);//经度值 + + var lat=Cesium.Math.toDegrees(cartographic.latitude);//纬度值 + + var mapPosition={x:lng,y:lat,z:cartographic.height};//cartographic.height的值始终为零。 + + console.log('['+lng+','+lat+'],') + + }, Cesium.ScreenSpaceEventType.LEFT_CLICK) + + + graphicLayer.addGraphic(new mars3d.graphic.ModelPrimitive({ + position: [120.24136131092753,35.98781839514239, 0], + style: { + url: '../static/model/ws3(1).gltf', + scale: 2 + }, + popup: '污水井
名称:测试污水井
坐标:120.24136131 , 35.98781839', + })) + + + const positions = [ + { + items: [ + [120.242408, 35.98488], + [120.241876, 35.983685], + [120.24072915103277,35.98401852183208], + [120.24066226767461,35.98386439467149], + [120.23799263362649,35.98465426248275], + [120.23801324833634,35.98469952646805], + [120.23639754918162,35.98518882140076], + [120.23539196559577,35.985544884160994], + [120.23587638750675,35.986629651642545], + [120.24134390543394,35.98501775509528], + [120.24141583868801,35.98518212509207], + [120.24241275344102,35.984888675335576], + ], + repeat: [10,10,2,20,1,14,11,10,30,1,10] + }, + { + items: [ + [120.24050948131126,35.99887284279618], + [120.24047311802501,35.9988040758718], + [120.24000602145493,35.99892699977368], + [120.23981926929375,35.99852137416065], + [120.23915491144786,35.99872250579834], + [120.23853570540135,35.99733379774669], + [120.23837984743476,35.99738111443608], + [120.23674267613292,35.99368807570592], + [120.23703123073228,35.99359848590085], + [120.23498507485557,35.988981426163406], + [120.23495121044263,35.988852478046866], + [120.23493457581189,35.9887446388562], + [120.23500221125299,35.987278343711246], + [120.23525304463884,35.98721331037898], + [120.23518325934481,35.98704229365617], + [120.23569532569195,35.98688861729297], + [120.23561385795888,35.986706305124514], + [120.23587593489178,35.98662965676274], + ], + repeat: [1,7,7,9,20,2,30,3,30,1,1,10,2,2,5,2,3] + }, + { + items: [ + [120.24586604717854,35.9979288558106], + [120.24136191661452,35.98781757224307], + [120.23671658435623,35.98916014759319], + [120.24077236277236,35.99825670802544], + [120.24310395160609,35.99777018563125], + [120.24313196084067,35.997824634672305], + [120.24551234623144,35.997126522319036], + ], + repeat: [40,20,40,10,1,11] + }, + { + items: [ + [120.24170992858942,35.98509465063411], + [120.24174177004704,35.98516484469789], + [120.2360456729025,35.98684169734963], + [120.23670828292114,35.98832166053783], + [120.23780799338377,35.98799846637085], + [120.23778655706876,35.98795181125743], + [120.2379543649098,35.98790209781134], + [120.23797661371773,35.9879519585988], + [120.24217379986901,35.986717607932476], + [120.24220811458672,35.9867948264816], + [120.24313969751755,35.98651998174397], + [120.24340083435202,35.98710486726242], + [120.24340295539514,35.98711126290699], + [120.24339356799801,35.98712624257708], + [120.24339092481978,35.98712945855344], + [120.24115838881968,35.98778723408122], + [120.2411924668591,35.9878636130951] + ], + repeat: [1,25,10,5,1,1,1,20,1,5,4,1,1,1,10,1] + }, + { + items: [ + [120.24174182594587,35.985164810464816], + [120.24180405689097,35.98514607719034], + [120.24191425728681,35.985388547867004], + [120.24187060946714,35.985401287823926], + [120.24192547998754,35.98552592281015], + [120.24146580657525,35.98566151118688], + [120.2414517838353,35.985689541502474], + [120.24124032536692,35.98575200176583], + [120.24120636806991,35.98574035544765], + [120.24104630737101,35.98578670003935], + [120.24102833122576,35.98581455603924], + [120.23901824229428,35.986405444325726], + [120.23898612720811,35.98639331565721], + [120.23882243311812,35.986441060148216], + [120.23880438027373,35.98646744258787], + [120.23621468727883,35.987233051787086], + ], + repeat: [1,2,1,1,3,1,1,1,1,1,10,1,1,1,10] + }, + { + items: [ + [120.24021438720284,35.99701214436618], + [120.24050170623165,35.99693341577263], + [120.24051205401405,35.996956176259914], + [120.2413187462009,35.996717810278284], + [120.24130817477375,35.99669208098823], + [120.24440953240583,35.99578117928951], + ], + repeat: [2,1,6,1,15] + }, + { + items: [ + [120.23816718389176,35.988738223877995], + [120.23929242395654,35.9912679977301], + ], + repeat: [10] + }, + { + items: [ + [120.23784732551125,35.99170101357662], + [120.23937596388129,35.99124337617866], + [120.23938607335027,35.991266123969915], + [120.24249177080193,35.99034966146303], + ], + repeat: [8,1,12] + }, + { + items: [ + [120.23920119321177,35.99472848102488], + [120.24363465322824,35.99342478987712], + ], + repeat: [20] + }, + { + items: [ + [120.23875388051115,35.993727853651976], + [120.24300125355681,35.992474097571474], + ], + repeat: [20] + }, + { + items: [ + [120.2391698326201,35.99360344192165], + [120.23883486702462,35.992849553442106], + [120.24277278207323,35.99168649112981], + ], + repeat: [5,20] + }, + ] + for(let j=0;j { - console.log(response) if (response.code === 200) { const wellInfo = response.data this.alarmInfo = { diff --git a/src/views/overview/overviewSimple.vue b/src/views/overview/overviewSimple.vue index 44e5708..c3b9722 100644 --- a/src/views/overview/overviewSimple.vue +++ b/src/views/overview/overviewSimple.vue @@ -84,24 +84,23 @@ var alarmIcons= [] var typeList = [] - var ysline= null - var wsline= null - var underground= null - var img_layer= null - var tile_layer= null - var tiles3dLayer= null - var rain_point_layer= null - var rain_point_layer1= null - var sewage_point_layer= null - var alarm_layer= null - var fly_layer= null - + var ysline = null + var wsline = null + var underground = null + var img_layer = null + var tile_layer = null + var tiles3dLayer = null + var rain_point_layer = null + var rain_point_layer1 = null + var sewage_point_layer = null + var alarm_layer = null + var fly_layer = null + var building = null export default { name: 'OverviewSimple', components: { DeptSelect, SelectTree }, data() { return { - type: 'massMarkers', // 加载数据方式:massMarkers或cluster refreshType: 'websocket', // 刷新数据方式:clock或websocket showAlarm: true, // 是否显示报警 @@ -185,6 +184,11 @@ window.map.basemap.opacity = val/100 // this.tiles3dLayer.opacity = val/100 //删 underground.alpha = val/100 + if(building !== null){ + building.setStyle({ + opacity: val/100 + }) + } if(val<=90 && window.map.level>=19){ // window.map.scene.globe.show = false // ysline.show = false @@ -301,11 +305,12 @@ // window.map.addLayer(rain_point_layer1) }, // 初始化放这里 + // lat: 35.9, lng: 120.2384, alt: 10000, heading: 360, pitch: -45 async initmars3d() { var mapOptions = { scene: { // 默认视角参数 - center: { lat: 35.9, lng: 120.2384, alt: 10000, heading: 360, pitch: -45 }, + center: { lat: 35.97, lng: 120.2384, alt: 2000, heading: 360, pitch: -45 }, // 以下是Cesium.Globe对象相关参数 globe: { depthTestAgainstTerrain: true, // 是否启用深度监测 @@ -369,12 +374,16 @@ map.scene.screenSpaceCameraController.zoomEventTypes = [Cesium.CameraEventType.MIDDLE_DRAG, Cesium.CameraEventType.WHEEL, Cesium.CameraEventType.PINCH] // 鼠标左键平移 map.scene.screenSpaceCameraController.rotateEventTypes = [Cesium.CameraEventType.LEFT_DRAG] + let bloomEffect = new mars3d.effect.BloomEffect({ + enabled: true + }) + map.addEffect(bloomEffect) window.map = map underground = new mars3d.thing.Underground({ - alpha: 0.4, + alpha: this.alpha/100, }) map.addThing(underground) - window.map.basemap.opacity = 0.4 + window.map.basemap.opacity = this.alpha/100 let that = this this.handler.setInputAction(function(movement) { if(window.map.level<19){ @@ -391,15 +400,199 @@ // lat: 35.9, lng: 120.2384, let graphicLayer = new mars3d.layer.GraphicLayer() map.addLayer(graphicLayer) - let primitive = new mars3d.graphic.ModelPrimitive({ + + building = new mars3d.graphic.ModelPrimitive({ position: [120.242, 35.98342, 0], style: { url: '../static/model/m1/m1.gltf', scale: 100, - heading: 19.9 + heading: 19.9, + opacity: this.alpha/100 } }) - graphicLayer.addGraphic(primitive) + graphicLayer.addGraphic(building) + + var handler = new Cesium.ScreenSpaceEventHandler( map.viewer.canvas); + handler.setInputAction(function(evt) { + var cartesian=map.viewer.camera.pickEllipsoid(evt.position,map.viewer.scene.globe.ellipsoid); + + var cartographic=Cesium.Cartographic.fromCartesian(cartesian); + + var lng=Cesium.Math.toDegrees(cartographic.longitude);//经度值 + + var lat=Cesium.Math.toDegrees(cartographic.latitude);//纬度值 + + var mapPosition={x:lng,y:lat,z:cartographic.height};//cartographic.height的值始终为零。 + + console.log('['+lng+','+lat+'],') + + }, Cesium.ScreenSpaceEventType.LEFT_CLICK) + + + graphicLayer.addGraphic(new mars3d.graphic.ModelPrimitive({ + position: [120.24136131092753,35.98781839514239, 0], + style: { + url: '../static/model/ws3(1).gltf', + scale: 2 + }, + popup: '污水井
名称:测试污水井
坐标:120.24136131 , 35.98781839', + })) + + + const positions = [ + { + items: [ + [120.242408, 35.98488], + [120.241876, 35.983685], + [120.24072915103277,35.98401852183208], + [120.24066226767461,35.98386439467149], + [120.23799263362649,35.98465426248275], + [120.23801324833634,35.98469952646805], + [120.23639754918162,35.98518882140076], + [120.23539196559577,35.985544884160994], + [120.23587638750675,35.986629651642545], + [120.24134390543394,35.98501775509528], + [120.24141583868801,35.98518212509207], + [120.24241275344102,35.984888675335576], + ], + repeat: [10,10,2,20,1,14,11,10,30,1,10] + }, + { + items: [ + [120.24050948131126,35.99887284279618], + [120.24047311802501,35.9988040758718], + [120.24000602145493,35.99892699977368], + [120.23981926929375,35.99852137416065], + [120.23915491144786,35.99872250579834], + [120.23853570540135,35.99733379774669], + [120.23837984743476,35.99738111443608], + [120.23674267613292,35.99368807570592], + [120.23703123073228,35.99359848590085], + [120.23498507485557,35.988981426163406], + [120.23495121044263,35.988852478046866], + [120.23493457581189,35.9887446388562], + [120.23500221125299,35.987278343711246], + [120.23525304463884,35.98721331037898], + [120.23518325934481,35.98704229365617], + [120.23569532569195,35.98688861729297], + [120.23561385795888,35.986706305124514], + [120.23587593489178,35.98662965676274], + ], + repeat: [1,7,7,9,20,2,30,3,30,1,1,10,2,2,5,2,3] + }, + { + items: [ + [120.24586604717854,35.9979288558106], + [120.24136191661452,35.98781757224307], + [120.23671658435623,35.98916014759319], + [120.24077236277236,35.99825670802544], + [120.24310395160609,35.99777018563125], + [120.24313196084067,35.997824634672305], + [120.24551234623144,35.997126522319036], + ], + repeat: [40,20,40,10,1,11] + }, + { + items: [ + [120.24170992858942,35.98509465063411], + [120.24174177004704,35.98516484469789], + [120.2360456729025,35.98684169734963], + [120.23670828292114,35.98832166053783], + [120.23780799338377,35.98799846637085], + [120.23778655706876,35.98795181125743], + [120.2379543649098,35.98790209781134], + [120.23797661371773,35.9879519585988], + [120.24217379986901,35.986717607932476], + [120.24220811458672,35.9867948264816], + [120.24313969751755,35.98651998174397], + [120.24340083435202,35.98710486726242], + [120.24340295539514,35.98711126290699], + [120.24339356799801,35.98712624257708], + [120.24339092481978,35.98712945855344], + [120.24115838881968,35.98778723408122], + [120.2411924668591,35.9878636130951] + ], + repeat: [1,25,10,5,1,1,1,20,1,5,4,1,1,1,10,1] + }, + { + items: [ + [120.24174182594587,35.985164810464816], + [120.24180405689097,35.98514607719034], + [120.24191425728681,35.985388547867004], + [120.24187060946714,35.985401287823926], + [120.24192547998754,35.98552592281015], + [120.24146580657525,35.98566151118688], + [120.2414517838353,35.985689541502474], + [120.24124032536692,35.98575200176583], + [120.24120636806991,35.98574035544765], + [120.24104630737101,35.98578670003935], + [120.24102833122576,35.98581455603924], + [120.23901824229428,35.986405444325726], + [120.23898612720811,35.98639331565721], + [120.23882243311812,35.986441060148216], + [120.23880438027373,35.98646744258787], + [120.23621468727883,35.987233051787086], + ], + repeat: [1,2,1,1,3,1,1,1,1,1,10,1,1,1,10] + }, + { + items: [ + [120.24021438720284,35.99701214436618], + [120.24050170623165,35.99693341577263], + [120.24051205401405,35.996956176259914], + [120.2413187462009,35.996717810278284], + [120.24130817477375,35.99669208098823], + [120.24440953240583,35.99578117928951], + ], + repeat: [2,1,6,1,15] + }, + { + items: [ + [120.23816718389176,35.988738223877995], + [120.23929242395654,35.9912679977301], + ], + repeat: [10] + }, + { + items: [ + [120.23784732551125,35.99170101357662], + [120.23937596388129,35.99124337617866], + [120.23938607335027,35.991266123969915], + [120.24249177080193,35.99034966146303], + ], + repeat: [8,1,12] + }, + { + items: [ + [120.23920119321177,35.99472848102488], + [120.24363465322824,35.99342478987712], + ], + repeat: [20] + }, + { + items: [ + [120.23875388051115,35.993727853651976], + [120.24300125355681,35.992474097571474], + ], + repeat: [20] + }, + { + items: [ + [120.2391698326201,35.99360344192165], + [120.23883486702462,35.992849553442106], + [120.24277278207323,35.99168649112981], + ], + repeat: [5,20] + }, + ] + for(let j=0;j { - console.log(response) if (response.code === 200) { const wellInfo = response.data this.alarmInfo = { diff --git a/static/images/line.png b/static/images/line.png new file mode 100644 index 0000000..507e89b --- /dev/null +++ b/static/images/line.png Binary files differ