diff --git a/src/api/overview.js b/src/api/overview.js
index 331c728..7a17f9d 100644
--- a/src/api/overview.js
+++ b/src/api/overview.js
@@ -103,3 +103,13 @@
})
}
+// 总览marker
+export function getMapping(devType) {
+ return request({
+ url: 'overview/wellMapping',
+ method: 'get',
+ params: {
+ devType: devType
+ }
+ })
+}
diff --git a/src/api/overview.js b/src/api/overview.js
index 331c728..7a17f9d 100644
--- a/src/api/overview.js
+++ b/src/api/overview.js
@@ -103,3 +103,13 @@
})
}
+// 总览marker
+export function getMapping(devType) {
+ return request({
+ url: 'overview/wellMapping',
+ method: 'get',
+ params: {
+ devType: devType
+ }
+ })
+}
diff --git a/src/views/overview/overviewSimple.vue b/src/views/overview/overviewSimple.vue
index 3c4eb3f..c61f888 100644
--- a/src/views/overview/overviewSimple.vue
+++ b/src/views/overview/overviewSimple.vue
@@ -31,6 +31,15 @@
+
+
+
+
@@ -75,7 +84,7 @@
import { mapGetters } from 'vuex'
import SelectTree from '@/components/SelectTree/singleSelect'
import { getWellType } from '@/api/well'
- import { getWellList, getWellInfo, getAlarmsNow, getWellAlarms, getWellByCode } from '@/api/overview'
+ import { getWellList, getWellInfo, getAlarmsNow, getWellAlarms, getWellByCode,getMapping } from '@/api/overview'
import DeptSelect from '../../components/DeptSelect/index'
import 'mars3d/dist/mars3d.css'
@@ -99,6 +108,14 @@
var alarm_layer = null
var fly_layer = null
var building = null
+ var flow = null
+ var street = null
+ var well_model_layer = null
+ var watch_model_layer = null
+ var zs_model_layer = null
+ var well_pic_layer = null
+ var watch_pic_layer = null
+ var zs_pic_layer = null
export default {
name: 'OverviewSimple',
components: { DeptSelect, SelectTree },
@@ -106,6 +123,7 @@
return {
type: 'massMarkers', // 加载数据方式:massMarkers或cluster
refreshType: 'websocket', // 刷新数据方式:clock或websocket
+ value: true,
showAlarm: true, // 是否显示报警
showAll: false, // 是否显示全部井
alpha: 40, // 是否显示全部井
@@ -180,6 +198,19 @@
this.initmars3d()
},
watch: {
+ value(val){
+ if(val){
+ window.map.basemap = 2011
+ building.show = false
+ flow.show = false
+ street.show = true
+ }else{
+ window.map.basemap = 2021
+ building.show = true
+ flow.show = true
+ street.show = false
+ }
+ },
alpha(val){
// img_layer.alpha = val/100 //删
// ysline.alpha = val/100
@@ -244,68 +275,90 @@
},
async initpoints(str) {
- // if(sewage_point_layer!==null) window.map.removeLayer(sewage_point_layer)
- // if(rain_point_layer!==null) window.map.removeLayer(rain_point_layer)
- // if(rain_point_layer1!==null) window.map.removeLayer(rain_point_layer1)
- // sewage_point_layer = new mars3d.layer.ArcGisWfsLayer({
- // name: '污水点',
- // url: 'http://223.82.47.232:11408/arcgis/rest/services/crgx/MapServer/3',
- // where: str,
- // minimumLevel: 19,
- // symbol: {
- // type: 'modelP',
- // styleOptions: {
- // url: '../static/model/ws3(1).gltf',
- // scale: 1.3
- // },
- // callback: function (attr, styleOpt){
- // var val= {attr}.attr
- // return {setHeight: -val.井深}
- // }
- // },
- // popup: '编号:{编号}
名称:{附属物名称}
所属道路:{所属道路}',
- // })
- // window.map.addLayer(sewage_point_layer)
- //
- // rain_point_layer = new mars3d.layer.ArcGisWfsLayer({
- // name: '雨水井',
- // url: 'http://223.82.47.232:11408/arcgis/rest/services/crgx/MapServer/0',
- // where: "附属物名称 = '雨水井' and " + str,
- // minimumLevel: 19,
- // symbol: {
- // type: 'modelP',
- // styleOptions: {
- // url: '../static/model/ys3.gltf',
- // scale: 1.3
- // },
- // callback: function (attr, styleOpt){
- // var val= {attr}.attr
- // return {setHeight: -val.井深}
- // }
- // },
- // popup: '编号:{编号}
名称:{附属物名称}
所属道路:{所属道路}',
- // })
- // window.map.addLayer(rain_point_layer)
- //
- // rain_point_layer1 = new mars3d.layer.ArcGisWfsLayer({
- // name: '雨篦',
- // url: 'http://223.82.47.232:11408/arcgis/rest/services/crgx/MapServer/0',
- // where: "附属物名称 <> '雨水井' and " + str,
- // minimumLevel: 19,
- // symbol: {
- // type: 'modelP',
- // styleOptions: {
- // url: '../static/model/yubi.gltf',
- // scale: 1.3
- // },
- // callback: function (attr, styleOpt){
- // var val= {attr}.attr
- // return {setHeight: -val.井深}
- // }
- // },
- // popup: '编号:{编号}
名称:{附属物名称}
所属道路:{所属道路}',
- // })
- // window.map.addLayer(rain_point_layer1)
+ // 井
+ let params = ''
+ getMapping(params).then(response => {
+ if (response.code === 200) {
+ if(well_model_layer!==null) window.map.removeLayer(well_model_layer)
+ well_model_layer = new mars3d.layer.GraphicLayer()
+ window.map.addLayer(well_model_layer)
+ for(let i=0;i井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`,
+ }))
+ }
+ }
+ })
+ params = '13'
+ getMapping(params).then(response => {
+ if (response.code === 200) {
+ if(watch_model_layer!==null) window.map.removeLayer(watch_model_layer)
+ watch_model_layer = new mars3d.layer.GraphicLayer()
+ window.map.addLayer(watch_model_layer)
+ if(watch_pic_layer!==null) window.map.removeLayer(watch_pic_layer)
+ watch_pic_layer = new mars3d.layer.GraphicLayer()
+ window.map.addLayer(watch_pic_layer)
+ for(let i=0;i设备编号:${response.data[i].devcode}
设备模型:${response.data[i].modelName}
设备类型:${response.data[i].deviceTypeName}
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`,
+ }))
+ watch_pic_layer.addGraphic( new mars3d.graphic.BillboardEntity({
+ position: [response.data[i].longitude,response.data[i].latitude, 2],
+ style: {
+ image: '../static/images/icon/sb.png',
+ scale: 1,
+ horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
+ verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
+ scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3),
+ }
+ }))
+ }
+ }
+ })
+ params = '8'
+ getMapping(params).then(response => {
+ if (response.code === 200) {
+ if(zs_model_layer!==null) window.map.removeLayer(zs_model_layer)
+ zs_model_layer = new mars3d.layer.GraphicLayer()
+ window.map.addLayer(zs_model_layer)
+
+ if(zs_pic_layer!==null) window.map.removeLayer(zs_pic_layer)
+ zs_pic_layer = new mars3d.layer.GraphicLayer()
+ window.map.addLayer(zs_pic_layer)
+ for(let i=0;i设备编号:${response.data[i].devcode}
设备模型:${response.data[i].modelName}
设备类型:${response.data[i].deviceTypeName}
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`,
+ }))
+ zs_pic_layer.addGraphic( new mars3d.graphic.BillboardEntity({
+ position: [response.data[i].longitude,response.data[i].latitude, 2],
+ style: {
+ image: '../static/images/icon/zs.png',
+ scale: 1,
+ horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
+ verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
+ scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3),
+ }
+ }))
+ }
+ }
+ })
},
// 初始化放这里
// lat: 35.9, lng: 120.2384, alt: 10000, heading: 360, pitch: -45
@@ -317,7 +370,7 @@
// 以下是Cesium.Globe对象相关参数
globe: {
depthTestAgainstTerrain: true, // 是否启用深度监测
- // baseColor: '#00192f', // 地球默认背景色
+ baseColor: '#071a69', // 地球默认背景色
showGroundAtmosphere: false, // 是否在地球上绘制的地面大气
enableLighting: false // 是否显示昼夜区域
},
@@ -348,6 +401,37 @@
{ name: "注记", type: "tdt", layer: "img_z", key: ["9ae78c51a0a28f06444d541148496e36"] },
]
},
+ // {
+ // pid: 10,
+ // id: 2011,
+ // name: "天地图",
+ // type: "group",
+ // layers: [
+ // {
+ // name: '行政区划界线',
+ // type: 'xyz',
+ // url: 'https://t{s}.tianditu.gov.cn/DataServer?T=ibo_w&x={x}&y={y}&l={z}&tk=9ae78c51a0a28f06444d541148496e36',
+ // subdomains: '01234567',
+ // maximumLevel: 10,
+ // show: true,
+ // id: 1,
+ // templateValues: {
+ // dataServer: 'http://data.marsgis.cn'
+ // },
+ // zIndex: 0
+ // },
+ // {
+ // name: '天地图注记',
+ // type: 'tdt',
+ // layer: 'img_z',
+ // key: ['9ae78c51a0a28f06444d541148496e36'],
+ // show: true,
+ // id: 2,
+ // // templateValues: {dataServer: 'http://data.marsgis.cn'},
+ // zIndex: 1
+ // }
+ // ]
+ // },
{
"id": 2021,
"pid": 10,
@@ -358,22 +442,31 @@
"key": ["9ae78c51a0a28f06444d541148496e36"],
"show": true
},
- {
- "id": 2020,
- "pid": 10,
- "name": "天地图电子",
- "icon": "http://mars3d.cn/example/img/basemaps/tdt_vec.png",
- "type": "group",
- "layers": [
- { "name": "底图", "type": "tdt", "layer": "vec_d", "key": ["9ae78c51a0a28f06444d541148496e36"] },
- { "name": "注记", "type": "tdt", "layer": "vec_z", "key": ["9ae78c51a0a28f06444d541148496e36"] }
- ]
- },
+ // {
+ // "id": 2020,
+ // "pid": 10,
+ // "name": "天地图电子",
+ // "icon": "http://mars3d.cn/example/img/basemaps/tdt_vec.png",
+ // "type": "group",
+ // "layers": [
+ // { "name": "底图", "type": "tdt", "layer": "vec_d", "key": ["9ae78c51a0a28f06444d541148496e36"] },
+ // { "name": "注记", "type": "tdt", "layer": "vec_z", "key": ["9ae78c51a0a28f06444d541148496e36"] }
+ // ]
+ // },
+ // {
+ // crs: 'gcj',
+ // enablePickFeatures: false,
+ // icon: 'http://mars3d.cn/example/img/basemaps/bd-c-midnight.png',
+ // id: 2017,
+ // name: '蓝色底图(GCJ02偏移)',
+ // type: 'arcgis',
+ // url: 'http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer'
+ // }
],
}
// 创建三维地球场景
let map = new mars3d.Map('mars3dContainer', mapOptions)
- map.basemap = 2021
+ map.basemap = 2011
map.scene.screenSpaceCameraController.enableCollisionDetection = false
// 设置鼠标
map.scene.screenSpaceCameraController.tiltEventTypes = [ Cesium.CameraEventType.RIGHT_DRAG ]
@@ -418,7 +511,7 @@
}
})
graphicLayer.addGraphic(building)
-
+ building.show = false
// 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);
@@ -435,40 +528,7 @@
//
// }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
-// 演示井+icon
- 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',
- }))
-
- graphicLayer.addGraphic( new mars3d.graphic.BillboardEntity({
- position: [120.24136131092753,35.98781839514239, 0],
- style: {
- image: '../static/images/icon/fmg.png',
- scale: 1,
- horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
- verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
- scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3),
- },
- popup: '阀门
设备编号:FM0001
设备类型:阀门
详细位置:120.2413613,35.9878183
'
- }))
-
- graphicLayer.addGraphic( new mars3d.graphic.BillboardEntity({
- position: [120.24136131092753,35.98781839514239, 0.5],
- style: {
- image: '../static/images/icon/sbr.png',
- scale: 1,
- horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
- verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
- scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3),
- },
- popup: '报警水表
设备编号:FM0002
设备类型:水表
告警原因:日用水量超阈值报警
告警数值:106.00
告警时间:2022.03.21 12:35:06
详细位置:120.2413613,35.9878183
'
- }))
const positions = [
{
@@ -616,15 +676,21 @@
repeat: [5,20]
},
]
+ flow = new mars3d.layer.GraphicLayer()
+ map.addLayer(flow)
+ street = new mars3d.layer.GraphicLayer()
+ map.addLayer(street)
+
for(let j=0;j