|
|
@ -4,7 +4,7 @@
|
|
|
|
* @Author: JC9527
|
|
|
|
* @Author: JC9527
|
|
|
|
* @Date: 2024-01-09 23:08:15
|
|
|
|
* @Date: 2024-01-09 23:08:15
|
|
|
|
* @LastEditors: JC9527
|
|
|
|
* @LastEditors: JC9527
|
|
|
|
* @LastEditTime: 2024-09-14 15:28:34
|
|
|
|
* @LastEditTime: 2024-11-28 14:58:43
|
|
|
|
-->
|
|
|
|
-->
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<div class="map-main">
|
|
|
|
<div class="map-main">
|
|
|
@ -39,12 +39,15 @@
|
|
|
|
<!-- <el-amap-geojson @init="initLocation" :geo="jiangninggeo" ref="geojson" :polygon-options="polygonOptions" :visible="true" :draggable="draggable"></el-amap-geojson> -->
|
|
|
|
<!-- <el-amap-geojson @init="initLocation" :geo="jiangninggeo" ref="geojson" :polygon-options="polygonOptions" :visible="true" :draggable="draggable"></el-amap-geojson> -->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- marker标记点 -->
|
|
|
|
<!-- marker标记点 -->
|
|
|
|
<el-amap-marker v-for="(marker, index) in markers" :key="index + 'marker'" :visible="componentMarker.visible" :offset='markerOffset' :position="marker.position" :draggable="false" @click="(e)=> clickMarker(marker,e)">
|
|
|
|
<!-- <el-amap-marker v-for="(marker, index) in markers" :key="index + 'marker'" :visible="componentMarker.visible" :offset='markerOffset' :position="marker.position" :draggable="false" @click="(e)=> clickMarker(marker,e)">
|
|
|
|
<div class="markerStyles">
|
|
|
|
<div class="markerStyles">
|
|
|
|
<div v-if="marker.text" class="marker-Text">{{marker.text}}</div>
|
|
|
|
<div v-if="marker.text" class="marker-Text">{{marker.text}}</div>
|
|
|
|
|
|
|
|
<div class="tag">
|
|
|
|
|
|
|
|
<span></span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<img :src="marker.imgSrc" alt="">
|
|
|
|
<img :src="marker.imgSrc" alt="">
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</el-amap-marker>
|
|
|
|
</el-amap-marker> -->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 人员信息弹框 -->
|
|
|
|
<!-- 人员信息弹框 -->
|
|
|
|
<el-amap-info-window
|
|
|
|
<el-amap-info-window
|
|
|
@ -216,15 +219,15 @@
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="name">点位名称:</div>
|
|
|
|
<div class="name">点位名称:</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="position">{{ monitoringInfo.info.name }}</div>
|
|
|
|
<div class="position">{{ monitoringInfo.info.name || monitoringInfo.info.deviceName }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="person-info">
|
|
|
|
<!-- <div class="person-info">
|
|
|
|
<div class="info-left">
|
|
|
|
<div class="info-left">
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="name">在线状态:</div>
|
|
|
|
<div class="name">在线状态:</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="position">{{ monitoringInfo.info.status == 1 ? "在线":"离线" }}</div>
|
|
|
|
<div class="position">{{ monitoringInfo.info.status == 1 ? "在线":"离线" }}</div>
|
|
|
|
</div>
|
|
|
|
</div> -->
|
|
|
|
<div class="person-info">
|
|
|
|
<div class="person-info">
|
|
|
|
<div class="info-left">
|
|
|
|
<div class="info-left">
|
|
|
|
<div class="dot"></div>
|
|
|
|
<div class="dot"></div>
|
|
|
@ -336,6 +339,15 @@
|
|
|
|
<img src="@/assets/images/createdTask.png" alt="" />
|
|
|
|
<img src="@/assets/images/createdTask.png" alt="" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="monitoring-switch" v-if="!MyInput && actionMap == 4">
|
|
|
|
|
|
|
|
<div class="switchItems" v-for="(item,index) in switches" :key="index">
|
|
|
|
|
|
|
|
<el-switch
|
|
|
|
|
|
|
|
v-model="item.active"
|
|
|
|
|
|
|
|
@change="handleSwitchChange(index,item.id)">
|
|
|
|
|
|
|
|
</el-switch>
|
|
|
|
|
|
|
|
<div class="monitoring-type">{{ item.title }}</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div
|
|
|
|
<div
|
|
|
|
class="middle-bottom-left"
|
|
|
|
class="middle-bottom-left"
|
|
|
|
:class="!leftAnimationData ? 'middle-bottom-left2' : 'middle-bottom-left'"
|
|
|
|
:class="!leftAnimationData ? 'middle-bottom-left2' : 'middle-bottom-left'"
|
|
|
@ -380,6 +392,14 @@
|
|
|
|
<span>监控视频</span>
|
|
|
|
<span>监控视频</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="list" @click="changeMap(6)">
|
|
|
|
|
|
|
|
<div class="leftbg" :class="actionMap == 6 ? 'action-map' : ''">
|
|
|
|
|
|
|
|
<img class="images" src="@/assets/images/icon7.png" alt="" />
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="rightbg rightbgTwo" v-show="actionMap == 6">
|
|
|
|
|
|
|
|
<span>厂中厂园中园监控</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="list" @click="changeMap(5)">
|
|
|
|
<div class="list" @click="changeMap(5)">
|
|
|
|
<div class="leftbg" :class="actionMap == 5 ? 'action-map' : ''">
|
|
|
|
<div class="leftbg" :class="actionMap == 5 ? 'action-map' : ''">
|
|
|
|
<img src="@/assets/images/icon6.png" alt="" />
|
|
|
|
<img src="@/assets/images/icon6.png" alt="" />
|
|
|
@ -520,7 +540,11 @@ import {
|
|
|
|
getStreetShopList,
|
|
|
|
getStreetShopList,
|
|
|
|
listZhzz,
|
|
|
|
listZhzz,
|
|
|
|
getUserByImei,
|
|
|
|
getUserByImei,
|
|
|
|
dwgjList
|
|
|
|
dwgjList,
|
|
|
|
|
|
|
|
onlinePeople,
|
|
|
|
|
|
|
|
DeviceListNewRequest,
|
|
|
|
|
|
|
|
getDeviceMediaUrlHls,
|
|
|
|
|
|
|
|
getVideoDevice
|
|
|
|
} from "@/api/bigScreenApi";
|
|
|
|
} from "@/api/bigScreenApi";
|
|
|
|
import {
|
|
|
|
import {
|
|
|
|
previewURLs,
|
|
|
|
previewURLs,
|
|
|
@ -557,6 +581,11 @@ export default {
|
|
|
|
componentMarker: {
|
|
|
|
componentMarker: {
|
|
|
|
visible: true,
|
|
|
|
visible: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
switches: [
|
|
|
|
|
|
|
|
{ active: true, title: "视频监控", id: 1 },
|
|
|
|
|
|
|
|
{ active: false, title: "算法监控", id: 2 },
|
|
|
|
|
|
|
|
{ active: false, title: "自建监控", id: 3 },
|
|
|
|
|
|
|
|
],
|
|
|
|
// 所有点位信息
|
|
|
|
// 所有点位信息
|
|
|
|
markers:[],
|
|
|
|
markers:[],
|
|
|
|
// 人员弹框信息
|
|
|
|
// 人员弹框信息
|
|
|
@ -874,7 +903,10 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 视频非聚合自定义样式及点击事件
|
|
|
|
// 视频非聚合自定义样式及点击事件
|
|
|
|
_renderMarker (context) {
|
|
|
|
_renderMarker (context) {
|
|
|
|
var content = `<div class="markerStyles"><img src="${context.data[0].info.status == 1 ? require("../../../assets/images/icon/icon5.png") : require("../../../assets/images/icon/offLine4.png")}" alt=""></div>`;
|
|
|
|
// ${<span v-for="(item,index) in context.data[0].info.videoTagsList">item.name</span>}
|
|
|
|
|
|
|
|
// ${context.data[0].info.videoTagsList?.map(item => `<span>${item.name}</span>`).join('')}
|
|
|
|
|
|
|
|
// var content = `<div class="markerStyles"><img src="${context.data[0].info.status == 1 ? require("../../../assets/images/icon/icon5.png") : require("../../../assets/images/icon/offLine4.png")}" alt=""></div>`;
|
|
|
|
|
|
|
|
var content = `<div class="markerStyles"><div class="tag">${context.data[0].info.videoTagsList?.map(item => `<span>${item.name}</span>`).join('')}</div><img src="${require("../../../assets/images/icon/icon5.png")}" alt=""></div>`;
|
|
|
|
var offset = new AMap.Pixel(-13.5, -15);
|
|
|
|
var offset = new AMap.Pixel(-13.5, -15);
|
|
|
|
context.marker.setContent(content)
|
|
|
|
context.marker.setContent(content)
|
|
|
|
context.marker.setOffset(offset)
|
|
|
|
context.marker.setOffset(offset)
|
|
|
@ -884,6 +916,28 @@ export default {
|
|
|
|
this.monitoringInfo.visible = true;
|
|
|
|
this.monitoringInfo.visible = true;
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
// 厂中厂园中园视频非聚合自定义样式及点击事件
|
|
|
|
|
|
|
|
_renderMarkerTwo (context) {
|
|
|
|
|
|
|
|
// ${context.data[0].info.deviceName.length * 17}
|
|
|
|
|
|
|
|
var content = `<div class="markerStyles"><div class="marker-Text" style="width:85px">${context.data[0].info.deviceName}</div><img src="${require("../../../assets/images/icon/icon5.png")}" alt=""></div>`;
|
|
|
|
|
|
|
|
let strLength = context.data[0].info.deviceName.length / 5;
|
|
|
|
|
|
|
|
var offset = new AMap.Pixel(-28.5, -(Math.floor(strLength) * 36));
|
|
|
|
|
|
|
|
context.marker.setContent(content)
|
|
|
|
|
|
|
|
context.marker.setOffset(offset)
|
|
|
|
|
|
|
|
context.marker.on('click',(ev)=>{
|
|
|
|
|
|
|
|
// this.monitoringInfo.position = context.data[0].position;
|
|
|
|
|
|
|
|
// this.monitoringInfo.info = context.data[0].info;
|
|
|
|
|
|
|
|
// this.monitoringInfo.visible = true;
|
|
|
|
|
|
|
|
getDeviceMediaUrlHls({deviceCode:context.data[0].info.deviceCode}).then(res=>{
|
|
|
|
|
|
|
|
if(res.url) {
|
|
|
|
|
|
|
|
this.$refs.aloneVideo.open(res.url);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// else {
|
|
|
|
|
|
|
|
// this.$modal.msgError(res.msg);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
},
|
|
|
|
// 店铺非聚合自定义样式及点击事件
|
|
|
|
// 店铺非聚合自定义样式及点击事件
|
|
|
|
_DrenderMarker(context) {
|
|
|
|
_DrenderMarker(context) {
|
|
|
|
// <div class="marker-Text" style="width:${context.data[0].info.shopName.length * 15}px">${context.data[0].info.shopName}</div>
|
|
|
|
// <div class="marker-Text" style="width:${context.data[0].info.shopName.length * 15}px">${context.data[0].info.shopName}</div>
|
|
|
@ -934,17 +988,16 @@ export default {
|
|
|
|
textColor:"#FFFFFF",
|
|
|
|
textColor:"#FFFFFF",
|
|
|
|
textSize:14
|
|
|
|
textSize:14
|
|
|
|
}];
|
|
|
|
}];
|
|
|
|
this.markers = [];
|
|
|
|
|
|
|
|
this.mapLoading = status ? false : true;
|
|
|
|
this.mapLoading = status ? false : true;
|
|
|
|
if(id == 1) {
|
|
|
|
if(id == 1) {
|
|
|
|
this.personLine = [];
|
|
|
|
this.personLine = [];
|
|
|
|
this.videoPoint = [];
|
|
|
|
this.videoPoint = [];
|
|
|
|
// 获取人员信息
|
|
|
|
// 获取人员信息
|
|
|
|
getDeviceList().then((res) => {
|
|
|
|
onlinePeople().then((res) => {
|
|
|
|
this.mapLoading = false;
|
|
|
|
this.mapLoading = false;
|
|
|
|
// console.log(res,'点位信息');
|
|
|
|
// console.log(res,'点位信息');
|
|
|
|
if (res.data.obj) {
|
|
|
|
if (res.data) {
|
|
|
|
res.data.obj.forEach((element) => {
|
|
|
|
res.data.forEach((element) => {
|
|
|
|
if (element.status == "0" || element.status == "1") {
|
|
|
|
if (element.status == "0" || element.status == "1") {
|
|
|
|
this.personLine.push(element);
|
|
|
|
this.personLine.push(element);
|
|
|
|
let obj = {position:[]};
|
|
|
|
let obj = {position:[]};
|
|
|
@ -956,7 +1009,6 @@ export default {
|
|
|
|
obj.imgSrc = element.status;
|
|
|
|
obj.imgSrc = element.status;
|
|
|
|
obj.userId = element.userId;
|
|
|
|
obj.userId = element.userId;
|
|
|
|
obj.info = element;
|
|
|
|
obj.info = element;
|
|
|
|
// this.markers.push(obj)
|
|
|
|
|
|
|
|
this.videoPoint.push(obj)
|
|
|
|
this.videoPoint.push(obj)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
@ -977,16 +1029,6 @@ export default {
|
|
|
|
this.mapLoading = false;
|
|
|
|
this.mapLoading = false;
|
|
|
|
})
|
|
|
|
})
|
|
|
|
} else if(id == 2) {
|
|
|
|
} else if(id == 2) {
|
|
|
|
// point.features.forEach((element)=>{
|
|
|
|
|
|
|
|
// if (element.properties.name == "普通事件") {
|
|
|
|
|
|
|
|
// let obj = {position:[]};
|
|
|
|
|
|
|
|
// obj.position[0] = element.geometry.coordinates[0];
|
|
|
|
|
|
|
|
// obj.position[1] = element.geometry.coordinates[1];
|
|
|
|
|
|
|
|
// obj.imgSrc = element.properties.status == "0"? offIcon2 : ico2;
|
|
|
|
|
|
|
|
// this.markers.push(obj)
|
|
|
|
|
|
|
|
// this.mapLoading = false;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
listpatrol({current:1,size:1000}).then(res=>{
|
|
|
|
listpatrol({current:1,size:1000}).then(res=>{
|
|
|
|
this.mapLoading = false;
|
|
|
|
this.mapLoading = false;
|
|
|
|
if(res.code == 200) {
|
|
|
|
if(res.code == 200) {
|
|
|
@ -1012,7 +1054,6 @@ export default {
|
|
|
|
|
|
|
|
|
|
|
|
obj.imgSrc = ico2;
|
|
|
|
obj.imgSrc = ico2;
|
|
|
|
obj.info = element
|
|
|
|
obj.info = element
|
|
|
|
// this.markers.push(obj)
|
|
|
|
|
|
|
|
this.videoPoint.push(obj)
|
|
|
|
this.videoPoint.push(obj)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
this.count = this.videoPoint.length;
|
|
|
|
this.count = this.videoPoint.length;
|
|
|
@ -1027,60 +1068,7 @@ export default {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
// let data = {'queryValue' : [], "myInstanceClassify" : "all", "parameterValue":[], fks: []}
|
|
|
|
|
|
|
|
// ViewListPage({viewCode:'event-all-list', pageNo: 1, pageSize:500}, data).then(res=>{
|
|
|
|
|
|
|
|
// this.mapLoading = false;
|
|
|
|
|
|
|
|
// if(res.code == 200) {
|
|
|
|
|
|
|
|
// this.videoPoint = [];
|
|
|
|
|
|
|
|
// res.result.records.forEach((element)=>{
|
|
|
|
|
|
|
|
// let obj = {position:[]};
|
|
|
|
|
|
|
|
// let location = element.location?.split(',');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // obj.imgSrc = element.status == "0" ? offIcon4 : ico5;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if(location) {
|
|
|
|
|
|
|
|
// obj.position[0] = location[0];
|
|
|
|
|
|
|
|
// obj.position[1] = location[1];
|
|
|
|
|
|
|
|
// // let lonLat = this.wgs84togcj02(location[0],location[1]);
|
|
|
|
|
|
|
|
// // obj.position[0] = lonLat ? lonLat[0] : 0;
|
|
|
|
|
|
|
|
// // obj.position[1] = lonLat ? lonLat[1] : 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// obj.lnglat = new AMap.LngLat(location.length > 0 ? location[0] : 0 ,location.length > 0 ? location[1] : 0)
|
|
|
|
|
|
|
|
// // obj.lnglat = new AMap.LngLat(lonLat ? lonLat[0] : 0 ,lonLat ? lonLat[1] : 0)
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// obj.position[0] = 0;
|
|
|
|
|
|
|
|
// obj.position[1] = 0;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// obj.imgSrc = ico2;
|
|
|
|
|
|
|
|
// obj.info = element
|
|
|
|
|
|
|
|
// // this.markers.push(obj)
|
|
|
|
|
|
|
|
// this.videoPoint.push(obj)
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
// this.count = this.videoPoint.length;
|
|
|
|
|
|
|
|
// AMap.plugin(['AMap.MarkerCluster'],()=>{
|
|
|
|
|
|
|
|
// this.cluster = new AMap.MarkerCluster(this.map,this.videoPoint,{
|
|
|
|
|
|
|
|
// gridSize: 60, // 设置网格像素大小
|
|
|
|
|
|
|
|
// maxZoom: 17,
|
|
|
|
|
|
|
|
// styles: sts,
|
|
|
|
|
|
|
|
// // renderClusterMarker: this._renderClusterMarker, // 自定义聚合点样式
|
|
|
|
|
|
|
|
// renderMarker: this._eventMarker, // 自定义非聚合点样式
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
} else if(id == 3){
|
|
|
|
} else if(id == 3){
|
|
|
|
// point.features.forEach((element)=>{
|
|
|
|
|
|
|
|
// if (element.properties.name == "执法车辆") {
|
|
|
|
|
|
|
|
// let obj = {position:[]};
|
|
|
|
|
|
|
|
// obj.position[0] = element.geometry.coordinates[0];
|
|
|
|
|
|
|
|
// obj.position[1] = element.geometry.coordinates[1];
|
|
|
|
|
|
|
|
// obj.imgSrc = element.properties.status == "0"? offIcon3 : ico4;
|
|
|
|
|
|
|
|
// obj.text = element.properties.name;
|
|
|
|
|
|
|
|
// this.markers.push(obj)
|
|
|
|
|
|
|
|
// this.mapLoading = false;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
getCarManageList({pageNum: 1,pageSize: 1000}).then(res=>{
|
|
|
|
getCarManageList({pageNum: 1,pageSize: 1000}).then(res=>{
|
|
|
|
// console.log('车辆',res);
|
|
|
|
// console.log('车辆',res);
|
|
|
|
this.carLine = res.rows
|
|
|
|
this.carLine = res.rows
|
|
|
@ -1110,29 +1098,54 @@ export default {
|
|
|
|
renderMarker: this._carMarker, // 自定义非聚合点样式
|
|
|
|
renderMarker: this._carMarker, // 自定义非聚合点样式
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
// res.rows.forEach(element => {
|
|
|
|
|
|
|
|
// let obj = {position:[]};
|
|
|
|
|
|
|
|
// obj.position[0] = element.longitude;
|
|
|
|
|
|
|
|
// obj.position[1] = element.latitude;
|
|
|
|
|
|
|
|
// obj.imgSrc = ico6;
|
|
|
|
|
|
|
|
// obj.info = element;
|
|
|
|
|
|
|
|
// this.markers.push(obj)
|
|
|
|
|
|
|
|
// this.mapLoading = false;
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
}).catch(err=>{
|
|
|
|
}).catch(err=>{
|
|
|
|
this.mapLoading = false;
|
|
|
|
this.mapLoading = false;
|
|
|
|
})
|
|
|
|
})
|
|
|
|
} else if(id == 4){
|
|
|
|
} else if(id == 4){
|
|
|
|
getVideoPageEq({pageNo:1,pageSize:1000}).then(res=>{
|
|
|
|
// getVideoPageEq({pageNo:1,pageSize:1000}).then(res=>{
|
|
|
|
|
|
|
|
// this.mapLoading = false;
|
|
|
|
|
|
|
|
// // console.log(res,"res");
|
|
|
|
|
|
|
|
// this.videoPoint = [];
|
|
|
|
|
|
|
|
// res.data.forEach((element)=>{
|
|
|
|
|
|
|
|
// let obj = {position:[]};
|
|
|
|
|
|
|
|
// let lonLat;
|
|
|
|
|
|
|
|
// if(element.longitude && element.latitude) {
|
|
|
|
|
|
|
|
// lonLat = this.wgs84togcj02(element.longitude,element.latitude);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// // obj.position[0] = element.longitude;
|
|
|
|
|
|
|
|
// obj.position[0] = lonLat ? lonLat[0] : 0;
|
|
|
|
|
|
|
|
// // obj.position[1] = element.latitude;
|
|
|
|
|
|
|
|
// obj.position[1] = lonLat ? lonLat[1] : 0;
|
|
|
|
|
|
|
|
// // obj.imgSrc = element.status == "0" ? offIcon4 : ico5;
|
|
|
|
|
|
|
|
// // obj.lnglat = new AMap.LngLat(element.longitude ? element.longitude : 0 ,element.latitude ? element.latitude : 0)
|
|
|
|
|
|
|
|
// obj.lnglat = new AMap.LngLat(lonLat ? lonLat[0] : 0 ,lonLat ? lonLat[1] : 0);
|
|
|
|
|
|
|
|
// obj.imgSrc = ico5;
|
|
|
|
|
|
|
|
// obj.info = element
|
|
|
|
|
|
|
|
// // this.markers.push(obj)
|
|
|
|
|
|
|
|
// this.videoPoint.push(obj)
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
// this.count = this.videoPoint.length;
|
|
|
|
|
|
|
|
// AMap.plugin(['AMap.MarkerCluster'],()=>{
|
|
|
|
|
|
|
|
// this.cluster = new AMap.MarkerCluster(this.map,this.videoPoint,{
|
|
|
|
|
|
|
|
// gridSize: 60, // 设置网格像素大小
|
|
|
|
|
|
|
|
// maxZoom: 15,
|
|
|
|
|
|
|
|
// styles: sts,
|
|
|
|
|
|
|
|
// // renderClusterMarker: this._renderClusterMarker, // 自定义聚合点样式
|
|
|
|
|
|
|
|
// renderMarker: this._renderMarker, // 自定义非聚合点样式
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
// }).catch(err=>{
|
|
|
|
|
|
|
|
// this.$modal.msgError(err);
|
|
|
|
|
|
|
|
// this.mapLoading = false;
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
getVideoDevice({current:1,size:-1}).then(res=>{
|
|
|
|
this.mapLoading = false;
|
|
|
|
this.mapLoading = false;
|
|
|
|
// console.log(res,"res");
|
|
|
|
|
|
|
|
this.videoPoint = [];
|
|
|
|
this.videoPoint = [];
|
|
|
|
res.data.forEach((element)=>{
|
|
|
|
res.data.records.forEach((element)=>{
|
|
|
|
let obj = {position:[]};
|
|
|
|
let obj = {position:[]};
|
|
|
|
let lonLat;
|
|
|
|
let lonLat;
|
|
|
|
if(element.longitude && element.latitude) {
|
|
|
|
if(element.longitude && element.latitude) {
|
|
|
|
lonLat = this.wgs84togcj02(element.longitude,element.latitude);
|
|
|
|
lonLat = this.wgs84togcj02(element.longitude,element.latitude);
|
|
|
|
}
|
|
|
|
|
|
|
|
// obj.position[0] = element.longitude;
|
|
|
|
// obj.position[0] = element.longitude;
|
|
|
|
obj.position[0] = lonLat ? lonLat[0] : 0;
|
|
|
|
obj.position[0] = lonLat ? lonLat[0] : 0;
|
|
|
|
// obj.position[1] = element.latitude;
|
|
|
|
// obj.position[1] = element.latitude;
|
|
|
@ -1144,6 +1157,7 @@ export default {
|
|
|
|
obj.info = element
|
|
|
|
obj.info = element
|
|
|
|
// this.markers.push(obj)
|
|
|
|
// this.markers.push(obj)
|
|
|
|
this.videoPoint.push(obj)
|
|
|
|
this.videoPoint.push(obj)
|
|
|
|
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
this.count = this.videoPoint.length;
|
|
|
|
this.count = this.videoPoint.length;
|
|
|
|
AMap.plugin(['AMap.MarkerCluster'],()=>{
|
|
|
|
AMap.plugin(['AMap.MarkerCluster'],()=>{
|
|
|
@ -1160,16 +1174,6 @@ export default {
|
|
|
|
this.mapLoading = false;
|
|
|
|
this.mapLoading = false;
|
|
|
|
})
|
|
|
|
})
|
|
|
|
} else if(id == 5){
|
|
|
|
} else if(id == 5){
|
|
|
|
// point.features.forEach((element)=>{
|
|
|
|
|
|
|
|
// if (element.properties.name == "沿街商铺分布") {
|
|
|
|
|
|
|
|
// let obj = {position:[]};
|
|
|
|
|
|
|
|
// obj.position[0] = element.geometry.coordinates[0];
|
|
|
|
|
|
|
|
// obj.position[1] = element.geometry.coordinates[1];
|
|
|
|
|
|
|
|
// obj.imgSrc = ico6;
|
|
|
|
|
|
|
|
// this.markers.push(obj)
|
|
|
|
|
|
|
|
// this.mapLoading = false;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
getStreetShopList({pageSize:500,pageNum:1}).then(res=>{
|
|
|
|
getStreetShopList({pageSize:500,pageNum:1}).then(res=>{
|
|
|
|
this.videoPoint = [];
|
|
|
|
this.videoPoint = [];
|
|
|
|
this.mapLoading = false;
|
|
|
|
this.mapLoading = false;
|
|
|
@ -1199,6 +1203,40 @@ export default {
|
|
|
|
}).catch(err=>{
|
|
|
|
}).catch(err=>{
|
|
|
|
this.mapLoading = false;
|
|
|
|
this.mapLoading = false;
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
} else if(id == 6) {
|
|
|
|
|
|
|
|
DeviceListNewRequest({pageSize:200}).then(res=>{
|
|
|
|
|
|
|
|
this.mapLoading = false;
|
|
|
|
|
|
|
|
// console.log(res,"res");
|
|
|
|
|
|
|
|
this.videoPoint = [];
|
|
|
|
|
|
|
|
res.forEach((element)=>{
|
|
|
|
|
|
|
|
let obj = {position:[]};
|
|
|
|
|
|
|
|
let lonLat;
|
|
|
|
|
|
|
|
if(element.longitude && element.latitude) {
|
|
|
|
|
|
|
|
lonLat = this.wgs84togcj02(element.longitude,element.latitude);
|
|
|
|
|
|
|
|
// obj.position[0] = element.longitude;
|
|
|
|
|
|
|
|
obj.position[0] = lonLat ? lonLat[0] : 0;
|
|
|
|
|
|
|
|
// obj.position[1] = element.latitude;
|
|
|
|
|
|
|
|
obj.position[1] = lonLat ? lonLat[1] : 0;
|
|
|
|
|
|
|
|
// obj.imgSrc = element.status == "0" ? offIcon4 : ico5;
|
|
|
|
|
|
|
|
// obj.lnglat = new AMap.LngLat(element.longitude ? element.longitude : 0 ,element.latitude ? element.latitude : 0)
|
|
|
|
|
|
|
|
obj.lnglat = new AMap.LngLat(lonLat ? lonLat[0] : 0 ,lonLat ? lonLat[1] : 0);
|
|
|
|
|
|
|
|
obj.imgSrc = ico5;
|
|
|
|
|
|
|
|
obj.info = element
|
|
|
|
|
|
|
|
// this.markers.push(obj)
|
|
|
|
|
|
|
|
this.videoPoint.push(obj)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
this.count = this.videoPoint.length;
|
|
|
|
|
|
|
|
AMap.plugin(['AMap.MarkerCluster'],()=>{
|
|
|
|
|
|
|
|
this.cluster = new AMap.MarkerCluster(this.map,this.videoPoint,{
|
|
|
|
|
|
|
|
gridSize: 60, // 设置网格像素大小
|
|
|
|
|
|
|
|
maxZoom: 15,
|
|
|
|
|
|
|
|
styles: sts,
|
|
|
|
|
|
|
|
// renderClusterMarker: this._renderClusterMarker, // 自定义聚合点样式
|
|
|
|
|
|
|
|
renderMarker: this._renderMarkerTwo, // 自定义非聚合点样式
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 点位点击事件
|
|
|
|
// 点位点击事件
|
|
|
@ -1393,20 +1431,38 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 监控视频上墙
|
|
|
|
// 监控视频上墙
|
|
|
|
monitorVideos(status){
|
|
|
|
monitorVideos(status){
|
|
|
|
|
|
|
|
// this.$refs.aloneVideo.open(`http://liveplay.vaas.cn-yangzhou-1.ctyunxs.cn/vaas/live/3210000110004_32011502021322002389_live_1/hls.m3u8?auth_key=1728613840-588c71701551402588dcac5d76d4f910-30003-cef7053299ba90ef96453528cba0fc7f`);
|
|
|
|
// this.$refs.videoWall.open();
|
|
|
|
// this.$refs.videoWall.open();
|
|
|
|
if(status == 1) { // expand:"transcode=1"
|
|
|
|
// if(status == 1) { // expand:"transcode=1"
|
|
|
|
getPreviewURLs({protocol:'hls',cameraIndexCode:this.monitoringInfo.info.cameraIndexCode,streamType:"1",transmode:"1"}).then(res=>{
|
|
|
|
// getPreviewURLs({protocol:'hls',cameraIndexCode:this.monitoringInfo.info.nationalStandardCode,streamType:"1",transmode:"1"}).then(res=>{
|
|
|
|
if(res.code == 200) {
|
|
|
|
// if(res.code == 200) {
|
|
|
|
// console.log(res,'视频地址获取');
|
|
|
|
// // console.log(res,'视频地址获取');
|
|
|
|
// this.$refs.aloneVideo.open(res.msg);
|
|
|
|
// // this.$refs.aloneVideo.open(res.msg);
|
|
|
|
let videoUrl = res.msg;
|
|
|
|
// let videoUrl = res.msg;
|
|
|
|
var code1 = videoUrl.match(/\/openUrl\/(.*)/)[1]
|
|
|
|
// var code1 = videoUrl.match(/\/openUrl\/(.*)/)[1]
|
|
|
|
this.$refs.aloneVideo.open(`http://10.236.2.28:54567/bjh-admin-server/jn/videosLive/${code1}`);
|
|
|
|
// this.$refs.aloneVideo.open(`http://10.236.2.28:54567/bjh-admin-server/jn/videosLive/${code1}`);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
})
|
|
|
|
// })
|
|
|
|
} else {
|
|
|
|
if(this.actionMap == 4) {
|
|
|
|
this.$modal.msgError("该设备已离线");
|
|
|
|
getPreviewURLs({protocol:'hls',cameraIndexCode:this.monitoringInfo.info.nationalStandardCode,streamType:"1",transmode:"1"}).then(res=>{
|
|
|
|
}
|
|
|
|
// console.log(res,"res");
|
|
|
|
|
|
|
|
let url = JSON.parse(res.data)
|
|
|
|
|
|
|
|
// console.log(url,"url");
|
|
|
|
|
|
|
|
let videoUrl = url.data.url;
|
|
|
|
|
|
|
|
// var code1 = videoUrl.match(/\/openUrl\/(.*)/)[1]
|
|
|
|
|
|
|
|
// console.log(code1,"code1");
|
|
|
|
|
|
|
|
// this.$refs.aloneVideo.open(`http://10.236.2.28:54567/bjh-admin-server/jn/videosLive/${code1}`);
|
|
|
|
|
|
|
|
this.$refs.aloneVideo.open(videoUrl);
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// if(this.actionMap == 6) {
|
|
|
|
|
|
|
|
// getDeviceMediaUrlHls({deviceCode:this.monitoringInfo.info.deviceCode}).then(res=>{
|
|
|
|
|
|
|
|
// this.$refs.aloneVideo.open(res.url)
|
|
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
// } else
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// this.$modal.msgError("该设备已离线");
|
|
|
|
|
|
|
|
// }
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 转发,复制视频地址
|
|
|
|
// 转发,复制视频地址
|
|
|
|
copyUrl(){
|
|
|
|
copyUrl(){
|
|
|
@ -2406,7 +2462,7 @@ export default {
|
|
|
|
this.input = queryString;
|
|
|
|
this.input = queryString;
|
|
|
|
// 执法人员搜索
|
|
|
|
// 执法人员搜索
|
|
|
|
if(this.actionMap == 1) {
|
|
|
|
if(this.actionMap == 1) {
|
|
|
|
dwgjList({name:queryString}).then(res=>{
|
|
|
|
dwgjList({nickName:queryString}).then(res=>{
|
|
|
|
var restaurants = res.data;
|
|
|
|
var restaurants = res.data;
|
|
|
|
let a = [];
|
|
|
|
let a = [];
|
|
|
|
restaurants.forEach((per=>{
|
|
|
|
restaurants.forEach((per=>{
|
|
|
@ -2546,9 +2602,168 @@ export default {
|
|
|
|
this.markerOffset = new AMap.Pixel(-27, -94);
|
|
|
|
this.markerOffset = new AMap.Pixel(-27, -94);
|
|
|
|
} else if (id == 5) {
|
|
|
|
} else if (id == 5) {
|
|
|
|
this.markerOffset = new AMap.Pixel(-27, -94);
|
|
|
|
this.markerOffset = new AMap.Pixel(-27, -94);
|
|
|
|
|
|
|
|
} else if (id == 6) {
|
|
|
|
|
|
|
|
this.MyInput = false;
|
|
|
|
|
|
|
|
this.switches[0].active = true;
|
|
|
|
|
|
|
|
this.switches[1].active = false;
|
|
|
|
|
|
|
|
this.switches[2].active = false;
|
|
|
|
|
|
|
|
this.markerOffset = new AMap.Pixel(-27, -94);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.getMarkers(id);
|
|
|
|
this.getMarkers(id);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
// 视频切换
|
|
|
|
|
|
|
|
handleSwitchChange(index,id){
|
|
|
|
|
|
|
|
// 判断是否全部都未选,allInactive为true则判断active全部都为false
|
|
|
|
|
|
|
|
const allInactive = this.switches.every(switchItem => !switchItem.active);
|
|
|
|
|
|
|
|
if(allInactive) {
|
|
|
|
|
|
|
|
this.switches[index].active = true;
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
this.switches.forEach((sw, i) => {
|
|
|
|
|
|
|
|
// 关闭其他开关
|
|
|
|
|
|
|
|
if (i !== index) {
|
|
|
|
|
|
|
|
sw.active = false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
// id 1:视频监控 2:算法监控 3:自建监控
|
|
|
|
|
|
|
|
// console.log(id);
|
|
|
|
|
|
|
|
this.getVideosType(id)
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
getVideosType(id){
|
|
|
|
|
|
|
|
this.mapLoading = true;
|
|
|
|
|
|
|
|
// 点聚合重置
|
|
|
|
|
|
|
|
if (this.cluster) {
|
|
|
|
|
|
|
|
this.cluster.setMap(null);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
this.videoPoint = [];
|
|
|
|
|
|
|
|
let imgUrl = require("../../../assets/images/icon/green.png")
|
|
|
|
|
|
|
|
var sts = [{
|
|
|
|
|
|
|
|
url: imgUrl,
|
|
|
|
|
|
|
|
size: new AMap.Size(32, 32),
|
|
|
|
|
|
|
|
offset: new AMap.Pixel(-16, -16),
|
|
|
|
|
|
|
|
textColor:"#FFFFFF",
|
|
|
|
|
|
|
|
textSize:14
|
|
|
|
|
|
|
|
}, {
|
|
|
|
|
|
|
|
url: imgUrl,
|
|
|
|
|
|
|
|
size: new AMap.Size(32, 32),
|
|
|
|
|
|
|
|
offset: new AMap.Pixel(-16, -16),
|
|
|
|
|
|
|
|
textColor:"#FFFFFF",
|
|
|
|
|
|
|
|
textSize:14
|
|
|
|
|
|
|
|
}, {
|
|
|
|
|
|
|
|
url: imgUrl,
|
|
|
|
|
|
|
|
size: new AMap.Size(32, 32),
|
|
|
|
|
|
|
|
offset: new AMap.Pixel(-18, -18),
|
|
|
|
|
|
|
|
textColor:"#FFFFFF",
|
|
|
|
|
|
|
|
textSize:14
|
|
|
|
|
|
|
|
}];
|
|
|
|
|
|
|
|
let ico5 = require("../../../assets/images/icon/icon5.png");
|
|
|
|
|
|
|
|
if(id == 1) {
|
|
|
|
|
|
|
|
getVideoDevice({current:1,size:-1}).then(res=>{
|
|
|
|
|
|
|
|
this.mapLoading = false;
|
|
|
|
|
|
|
|
res.data.records.forEach((element)=>{
|
|
|
|
|
|
|
|
let obj = {position:[]};
|
|
|
|
|
|
|
|
let lonLat;
|
|
|
|
|
|
|
|
if(element.longitude && element.latitude) {
|
|
|
|
|
|
|
|
lonLat = this.wgs84togcj02(element.longitude,element.latitude);
|
|
|
|
|
|
|
|
// obj.position[0] = element.longitude;
|
|
|
|
|
|
|
|
obj.position[0] = lonLat ? lonLat[0] : 0;
|
|
|
|
|
|
|
|
// obj.position[1] = element.latitude;
|
|
|
|
|
|
|
|
obj.position[1] = lonLat ? lonLat[1] : 0;
|
|
|
|
|
|
|
|
// obj.imgSrc = element.status == "0" ? offIcon4 : ico5;
|
|
|
|
|
|
|
|
// obj.lnglat = new AMap.LngLat(element.longitude ? element.longitude : 0 ,element.latitude ? element.latitude : 0)
|
|
|
|
|
|
|
|
obj.lnglat = new AMap.LngLat(lonLat ? lonLat[0] : 0 ,lonLat ? lonLat[1] : 0);
|
|
|
|
|
|
|
|
obj.imgSrc = ico5;
|
|
|
|
|
|
|
|
obj.info = element
|
|
|
|
|
|
|
|
// this.markers.push(obj)
|
|
|
|
|
|
|
|
this.videoPoint.push(obj)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
this.count = this.videoPoint.length;
|
|
|
|
|
|
|
|
AMap.plugin(['AMap.MarkerCluster'],()=>{
|
|
|
|
|
|
|
|
this.cluster = new AMap.MarkerCluster(this.map,this.videoPoint,{
|
|
|
|
|
|
|
|
gridSize: 60, // 设置网格像素大小
|
|
|
|
|
|
|
|
maxZoom: 15,
|
|
|
|
|
|
|
|
styles: sts,
|
|
|
|
|
|
|
|
// renderClusterMarker: this._renderClusterMarker, // 自定义聚合点样式
|
|
|
|
|
|
|
|
renderMarker: this._renderMarker, // 自定义非聚合点样式
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}).catch(err=>{
|
|
|
|
|
|
|
|
this.$modal.msgError(err);
|
|
|
|
|
|
|
|
this.mapLoading = false;
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
} else if(id == 2) {
|
|
|
|
|
|
|
|
getVideoDevice({current:1,size:-1,videoTagId:"1836948995594969090"}).then(res=>{
|
|
|
|
|
|
|
|
this.mapLoading = false;
|
|
|
|
|
|
|
|
res.data.records.forEach((element)=>{
|
|
|
|
|
|
|
|
let obj = {position:[]};
|
|
|
|
|
|
|
|
let lonLat;
|
|
|
|
|
|
|
|
if(element.longitude && element.latitude) {
|
|
|
|
|
|
|
|
lonLat = this.wgs84togcj02(element.longitude,element.latitude);
|
|
|
|
|
|
|
|
// obj.position[0] = element.longitude;
|
|
|
|
|
|
|
|
obj.position[0] = lonLat ? lonLat[0] : 0;
|
|
|
|
|
|
|
|
// obj.position[1] = element.latitude;
|
|
|
|
|
|
|
|
obj.position[1] = lonLat ? lonLat[1] : 0;
|
|
|
|
|
|
|
|
// obj.imgSrc = element.status == "0" ? offIcon4 : ico5;
|
|
|
|
|
|
|
|
// obj.lnglat = new AMap.LngLat(element.longitude ? element.longitude : 0 ,element.latitude ? element.latitude : 0)
|
|
|
|
|
|
|
|
obj.lnglat = new AMap.LngLat(lonLat ? lonLat[0] : 0 ,lonLat ? lonLat[1] : 0);
|
|
|
|
|
|
|
|
obj.imgSrc = ico5;
|
|
|
|
|
|
|
|
obj.info = element
|
|
|
|
|
|
|
|
// this.markers.push(obj)
|
|
|
|
|
|
|
|
this.videoPoint.push(obj)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
this.count = this.videoPoint.length;
|
|
|
|
|
|
|
|
AMap.plugin(['AMap.MarkerCluster'],()=>{
|
|
|
|
|
|
|
|
this.cluster = new AMap.MarkerCluster(this.map,this.videoPoint,{
|
|
|
|
|
|
|
|
gridSize: 60, // 设置网格像素大小
|
|
|
|
|
|
|
|
maxZoom: 15,
|
|
|
|
|
|
|
|
styles: sts,
|
|
|
|
|
|
|
|
// renderClusterMarker: this._renderClusterMarker, // 自定义聚合点样式
|
|
|
|
|
|
|
|
renderMarker: this._renderMarker, // 自定义非聚合点样式
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}).catch(err=>{
|
|
|
|
|
|
|
|
this.$modal.msgError(err);
|
|
|
|
|
|
|
|
this.mapLoading = false;
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
} else if(id == 3) {
|
|
|
|
|
|
|
|
getVideoDevice({current:1,size:-1,videoTagId:"1836949034303692802"}).then(res=>{
|
|
|
|
|
|
|
|
this.mapLoading = false;
|
|
|
|
|
|
|
|
res.data.records.forEach((element)=>{
|
|
|
|
|
|
|
|
let obj = {position:[]};
|
|
|
|
|
|
|
|
let lonLat;
|
|
|
|
|
|
|
|
if(element.longitude && element.latitude) {
|
|
|
|
|
|
|
|
lonLat = this.wgs84togcj02(element.longitude,element.latitude);
|
|
|
|
|
|
|
|
// obj.position[0] = element.longitude;
|
|
|
|
|
|
|
|
obj.position[0] = lonLat ? lonLat[0] : 0;
|
|
|
|
|
|
|
|
// obj.position[1] = element.latitude;
|
|
|
|
|
|
|
|
obj.position[1] = lonLat ? lonLat[1] : 0;
|
|
|
|
|
|
|
|
// obj.imgSrc = element.status == "0" ? offIcon4 : ico5;
|
|
|
|
|
|
|
|
// obj.lnglat = new AMap.LngLat(element.longitude ? element.longitude : 0 ,element.latitude ? element.latitude : 0)
|
|
|
|
|
|
|
|
obj.lnglat = new AMap.LngLat(lonLat ? lonLat[0] : 0 ,lonLat ? lonLat[1] : 0);
|
|
|
|
|
|
|
|
obj.imgSrc = ico5;
|
|
|
|
|
|
|
|
obj.info = element
|
|
|
|
|
|
|
|
// this.markers.push(obj)
|
|
|
|
|
|
|
|
this.videoPoint.push(obj)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
this.count = this.videoPoint.length;
|
|
|
|
|
|
|
|
AMap.plugin(['AMap.MarkerCluster'],()=>{
|
|
|
|
|
|
|
|
this.cluster = new AMap.MarkerCluster(this.map,this.videoPoint,{
|
|
|
|
|
|
|
|
gridSize: 60, // 设置网格像素大小
|
|
|
|
|
|
|
|
maxZoom: 15,
|
|
|
|
|
|
|
|
styles: sts,
|
|
|
|
|
|
|
|
// renderClusterMarker: this._renderClusterMarker, // 自定义聚合点样式
|
|
|
|
|
|
|
|
renderMarker: this._renderMarker, // 自定义非聚合点样式
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}).catch(err=>{
|
|
|
|
|
|
|
|
this.$modal.msgError(err);
|
|
|
|
|
|
|
|
this.mapLoading = false;
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
// 隐藏地图左侧
|
|
|
|
// 隐藏地图左侧
|
|
|
|
leftAnimation() {
|
|
|
|
leftAnimation() {
|
|
|
|
setTimeout(() => {
|
|
|
|
setTimeout(() => {
|
|
|
@ -2879,6 +3094,27 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.monitoring-switch {
|
|
|
|
|
|
|
|
z-index: 600;
|
|
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
|
|
left: 537px;
|
|
|
|
|
|
|
|
top: 10px;
|
|
|
|
|
|
|
|
// display: flex;
|
|
|
|
|
|
|
|
// flex-direction: column;
|
|
|
|
|
|
|
|
display: grid;
|
|
|
|
|
|
|
|
grid-template-columns: 1fr;
|
|
|
|
|
|
|
|
row-gap: 10px;
|
|
|
|
|
|
|
|
.switchItems {
|
|
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
// margin-bottom: 10px;
|
|
|
|
|
|
|
|
.monitoring-type {
|
|
|
|
|
|
|
|
color: #fff;
|
|
|
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
.middle-top-left2 {
|
|
|
|
.middle-top-left2 {
|
|
|
|
left: 67px;
|
|
|
|
left: 67px;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -2908,6 +3144,9 @@ export default {
|
|
|
|
img {
|
|
|
|
img {
|
|
|
|
width: 20px;
|
|
|
|
width: 20px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.images {
|
|
|
|
|
|
|
|
width: 30px;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.action-map {
|
|
|
|
.action-map {
|
|
|
|
background-image: url("../../../assets/images/iconbg1.png");
|
|
|
|
background-image: url("../../../assets/images/iconbg1.png");
|
|
|
@ -2916,6 +3155,7 @@ export default {
|
|
|
|
padding-left: 6px;
|
|
|
|
padding-left: 6px;
|
|
|
|
margin-left: 2px;
|
|
|
|
margin-left: 2px;
|
|
|
|
background-image: url("../../../assets/images/right-icon.png");
|
|
|
|
background-image: url("../../../assets/images/right-icon.png");
|
|
|
|
|
|
|
|
background-repeat: no-repeat; /* 不平铺 */
|
|
|
|
width: 115px;
|
|
|
|
width: 115px;
|
|
|
|
height: 36px;
|
|
|
|
height: 36px;
|
|
|
|
display: flex;
|
|
|
|
display: flex;
|
|
|
@ -2929,6 +3169,9 @@ export default {
|
|
|
|
text-shadow: 0px 0px 5px #0077ff;
|
|
|
|
text-shadow: 0px 0px 5px #0077ff;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.rightbgTwo {
|
|
|
|
|
|
|
|
width: 145px;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.middle-bottom-left2 {
|
|
|
|
.middle-bottom-left2 {
|
|
|
|