西海岸视频地图修改1121
This commit is contained in:
parent
cde4f5d82e
commit
2ee35c6814
|
@ -22,7 +22,7 @@ var _mapConfig = {}
|
||||||
CURRENT_MAP_OPTIONS: {
|
CURRENT_MAP_OPTIONS: {
|
||||||
// crs: CRS_4490,
|
// crs: CRS_4490,
|
||||||
center: [35.96, 120.19],
|
center: [35.96, 120.19],
|
||||||
maxZoom: 13,
|
maxZoom: 15,
|
||||||
minZoom: 0,
|
minZoom: 0,
|
||||||
zoom: 5,
|
zoom: 5,
|
||||||
},
|
},
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
|
@ -1680,7 +1680,7 @@ export function MapFun(mapObj) {
|
||||||
let layers = null;
|
let layers = null;
|
||||||
let clickDataList = [];
|
let clickDataList = [];
|
||||||
// 判断是否是聚合图层
|
// 判断是否是聚合图层
|
||||||
layers = createMarkerClusterLayer()
|
layers = createMarkerClusterLayer('', map)
|
||||||
const icon1 = createDefaultFeatureStyle({
|
const icon1 = createDefaultFeatureStyle({
|
||||||
img: url,
|
img: url,
|
||||||
iconSize: [33, 33],
|
iconSize: [33, 33],
|
||||||
|
|
|
@ -39,11 +39,9 @@ function updateProgressBar(processed, total, elapsed, layersArray) {
|
||||||
* @param layerClassName 据此判断是否需要自定义聚合图层的样式
|
* @param layerClassName 据此判断是否需要自定义聚合图层的样式
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
function createMarkerClusterLayer(layerClassName) {
|
function createMarkerClusterLayer(layerClassName, mapObj) {
|
||||||
let array = [];
|
let array = [];
|
||||||
let markerClusterLayer = null
|
let markerClusterLayer = null
|
||||||
//let currentZoom = this.map._zoom
|
|
||||||
//console.log('zzzzzz', currentZoom);
|
|
||||||
if (layerClassName) {
|
if (layerClassName) {
|
||||||
// 如果存在类名,表示需要自定义图标
|
// 如果存在类名,表示需要自定义图标
|
||||||
markerClusterLayer = L.markerClusterGroup({
|
markerClusterLayer = L.markerClusterGroup({
|
||||||
|
@ -81,18 +79,23 @@ function createMarkerClusterLayer(layerClassName) {
|
||||||
// 是否显示标记的边界
|
// 是否显示标记的边界
|
||||||
showCoverageOnHover: false,
|
showCoverageOnHover: false,
|
||||||
// 是否点击展开
|
// 是否点击展开
|
||||||
zoomToBoundsOnClick: false,
|
zoomToBoundsOnClick: true,
|
||||||
maxClusterRadius: 80,
|
maxClusterRadius: 80,
|
||||||
})
|
})
|
||||||
markerClusterLayer.on('clusterclick', function(a) {
|
markerClusterLayer.on('clusterclick', function(a) {
|
||||||
//console.log('cluster ' + a.layer.getAllChildMarkers());
|
//console.log('cluster ' + a.layer.getAllChildMarkers().length);
|
||||||
|
if (a.layer.getAllChildMarkers().length < 50) {
|
||||||
let clusterList = [];
|
let clusterList = [];
|
||||||
for (var i = 0; i < a.layer.getAllChildMarkers().length; i++) {
|
for (var i = 0; i < a.layer.getAllChildMarkers().length; i++) {
|
||||||
//console.log('yyyyyyyyy', a.layer.getAllChildMarkers()[i].resourceData);
|
//console.log('yyyyyyyyy', a.layer.getAllChildMarkers()[i].resourceData);
|
||||||
clusterList.push(a.layer.getAllChildMarkers()[i].resourceData);
|
clusterList.push(a.layer.getAllChildMarkers()[i].resourceData);
|
||||||
}
|
}
|
||||||
//console.log('clusterList ' + a.layer.getAllChildMarkers(array, true));
|
//console.log('clusterList ' + a.layer.getAllChildMarkers(array, true));
|
||||||
|
//console.log('zzzzzzzzz', mapObj.getZoom(), mapObj.getMaxZoom());
|
||||||
|
if (mapObj.getZoom() == mapObj.getMaxZoom()) {
|
||||||
mybus.emit('openOperationPopup', clusterList);
|
mybus.emit('openOperationPopup', clusterList);
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return markerClusterLayer
|
return markerClusterLayer
|
||||||
|
|
|
@ -13,6 +13,10 @@ const MSE_IS_SUPPORT = !!window.MediaSource // 是否支持mse
|
||||||
videoUrl:{
|
videoUrl:{
|
||||||
type: String,
|
type: String,
|
||||||
default: '',
|
default: '',
|
||||||
|
},
|
||||||
|
index:{
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
@ -64,7 +68,9 @@ const MSE_IS_SUPPORT = !!window.MediaSource // 是否支持mse
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
createPlayer () {
|
createPlayer () {
|
||||||
|
//console.log('this.index',this.index);
|
||||||
this.player = new window.JSPlugin({
|
this.player = new window.JSPlugin({
|
||||||
|
//szId: 'player'+this.index,
|
||||||
szId: 'player',
|
szId: 'player',
|
||||||
szBasePath: "/util/", //引入静态资源地址,我这里静态资源在public/js文件存放,所以设置为js
|
szBasePath: "/util/", //引入静态资源地址,我这里静态资源在public/js文件存放,所以设置为js
|
||||||
iMaxSplit: 4,
|
iMaxSplit: 4,
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
import { reactive, ref, watch, defineProps } from 'vue'
|
import { reactive, ref, watch, defineProps } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { useStore } from 'vuex'
|
import { useStore } from 'vuex'
|
||||||
|
import mybus from '@/myplugins/mybus'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const oldValue1= ref('')
|
const oldValue1= ref('')
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
@ -32,6 +33,13 @@ const previousPage = () => {
|
||||||
|
|
||||||
const detailName = ref("应用资源")
|
const detailName = ref("应用资源")
|
||||||
|
|
||||||
|
const goToDetailsPageconetent = () =>{
|
||||||
|
let pathData = {
|
||||||
|
path: '/DetailsPageconetent',
|
||||||
|
};
|
||||||
|
mybus.emit('changeMenuStyle',pathData);
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
|
|
|
@ -2601,8 +2601,9 @@
|
||||||
}
|
}
|
||||||
.camera-popup{
|
.camera-popup{
|
||||||
.ant-modal-body {
|
.ant-modal-body {
|
||||||
height: 700px !important;
|
height: 720px !important;
|
||||||
overflow-y: auto;
|
overflow-y: hidden;
|
||||||
|
overflow-x: hidden;
|
||||||
padding:14px;
|
padding:14px;
|
||||||
}
|
}
|
||||||
.ant-modal-footer{
|
.ant-modal-footer{
|
||||||
|
|
|
@ -5,12 +5,14 @@
|
||||||
<a-carousel arrows>
|
<a-carousel arrows>
|
||||||
<template #prevArrow>
|
<template #prevArrow>
|
||||||
<div class="custom-slick-arrow" style="left: 10px; z-index: 1">
|
<div class="custom-slick-arrow" style="left: 10px; z-index: 1">
|
||||||
<left-circle-outlined />
|
<!-- <div style="background-color:red">11111111</div> -->
|
||||||
|
<div class="arrow-left" @click="handlePrev()"></div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #nextArrow>
|
<template #nextArrow>
|
||||||
<div class="custom-slick-arrow" style="right: 10px">
|
<div class="custom-slick-arrow" style="right: 10px">
|
||||||
<right-circle-outlined />
|
<!-- <right-circle-outlined /> -->
|
||||||
|
<div class="arrow-right" @click="handleNext()"></div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<div
|
<div
|
||||||
|
@ -18,27 +20,21 @@
|
||||||
:width="800"
|
:width="800"
|
||||||
:height="400"
|
:height="400"
|
||||||
:key="url"
|
:key="url"
|
||||||
:src="url"
|
|
||||||
>
|
>
|
||||||
<div class="video-content">
|
|
||||||
<h5-player></h5-player>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- <div style="color:#000000">
|
</a-carousel>
|
||||||
<div class="video-content" style=" z-index: 1">
|
<div class="operation-content" style="position:ab">
|
||||||
|
<div class="video-content">
|
||||||
<h5-player :video-url="videoUrl"></h5-player>
|
<h5-player :video-url="videoUrl"></h5-player>
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
<div class="text-label">
|
||||||
|
<span>{{defaultIndex}}</span>/<span>{{cameraDataList.length}}</span>
|
||||||
|
</div>
|
||||||
<div class="footer-button">
|
<div class="footer-button">
|
||||||
<a-button type="primary" @click="applyNow(url)">立即申请</a-button>
|
<a-button type="primary" @click="applyNow(url)">立即申请</a-button>
|
||||||
<a-button type="primary" style="margin-left:20px" @click="addIntoCart(url)">加入申购车</a-button>
|
<a-button type="primary" style="margin-left:20px" @click="addIntoCart(url)">加入申购车</a-button>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="footer-button">
|
|
||||||
<a-button type="primary">立即申请</a-button>
|
|
||||||
<a-button type="primary" style="margin-left:20px">加入申购车</a-button>
|
|
||||||
</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
</a-carousel>
|
|
||||||
<!-- -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -79,7 +75,8 @@
|
||||||
return {
|
return {
|
||||||
openVideo: false,
|
openVideo: false,
|
||||||
videoStream: '',
|
videoStream: '',
|
||||||
videoUrl:'' //视频预览url
|
videoUrl:'', //视频预览url
|
||||||
|
defaultIndex:0//默认显示列表中的对一个
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -99,6 +96,28 @@
|
||||||
addIntoCart(item){
|
addIntoCart(item){
|
||||||
console.log('addIntoCartaddIntoCart',item);
|
console.log('addIntoCartaddIntoCart',item);
|
||||||
mybus.emit('selectCamera', item)
|
mybus.emit('selectCamera', item)
|
||||||
|
},
|
||||||
|
handlePrev(){
|
||||||
|
let maxLength = this.cameraDataList.length-1;
|
||||||
|
this.defaultIndex = this.defaultIndex - 1;
|
||||||
|
console.log('opopopop',this.cameraDataList[maxLength]);
|
||||||
|
if(this.defaultIndex === 0){
|
||||||
|
console.log('opopopop',this.cameraDataList[maxLength]);
|
||||||
|
//根据当前数据的channelId查询视频播放的url传递给H5组件调用接口
|
||||||
|
//this.videoUrl =
|
||||||
|
} else{
|
||||||
|
console.log('uyutyuyopopopop',this.cameraDataList[this.defaultIndex]);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
handleNext(){
|
||||||
|
this.defaultIndex = this.defaultIndex + 1;
|
||||||
|
if(this.defaultIndex === this.cameraDataList.length){
|
||||||
|
console.log('opopopop',this.cameraDataList[0]);
|
||||||
|
}else{
|
||||||
|
console.log('opopopop',this.cameraDataList[this.defaultIndex]);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -112,6 +131,7 @@
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
position: relative;
|
||||||
.content {
|
.content {
|
||||||
// width: 280px;
|
// width: 280px;
|
||||||
min-height: 100px;
|
min-height: 100px;
|
||||||
|
@ -162,23 +182,37 @@
|
||||||
margin: 8px auto 0;
|
margin: 8px auto 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.ant-carousel {
|
.operation-content{
|
||||||
width: 960px;
|
position: absolute;
|
||||||
//height: 700px;
|
z-index: 800;
|
||||||
margin-left: 8px;
|
top: 0.1rem;
|
||||||
|
//right: 0.1rem;
|
||||||
|
left:0.8rem;
|
||||||
|
.text-label{
|
||||||
|
width:800px;
|
||||||
|
height:30px;
|
||||||
|
margin-top:10px;
|
||||||
|
text-align:center;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
.video-content{
|
.video-content{
|
||||||
width: 950px;
|
width: 750px;
|
||||||
height:600px;
|
height:600px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
.footer-button{
|
.footer-button{
|
||||||
width: 950px;
|
width: 750px;
|
||||||
//height:50px;
|
//height:50px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding-top:20px;
|
padding-top:5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.ant-carousel {
|
||||||
|
width: 960px;
|
||||||
|
//height: 700px;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
.ant-carousel :deep(.slick-slide) {
|
.ant-carousel :deep(.slick-slide) {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
height: 650px;
|
height: 650px;
|
||||||
|
@ -195,9 +229,19 @@
|
||||||
height: 50px;
|
height: 50px;
|
||||||
font-size: 50px;
|
font-size: 50px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background-color: rgba(31, 45, 61, 0.11);
|
//background-color: rgba(31, 45, 61, 0.11);
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
.arrow-left{
|
||||||
|
width:48px;
|
||||||
|
height:48px;
|
||||||
|
background-image: url('~@/assets/home/arrow-left.png');
|
||||||
|
}
|
||||||
|
.arrow-right{
|
||||||
|
width:48px;
|
||||||
|
height:48px;
|
||||||
|
background-image: url('~@/assets/home/arrow-right.png');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.ant-carousel :deep(.custom-slick-arrow:before) {
|
.ant-carousel :deep(.custom-slick-arrow:before) {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
@ -168,6 +168,7 @@ import { ElMessage } from 'element-plus'
|
||||||
this.hiMap.mapObj,
|
this.hiMap.mapObj,
|
||||||
this.hiMapFun
|
this.hiMapFun
|
||||||
)
|
)
|
||||||
|
//console.log('this.hiMap.mapObj',this.hiMap.mapObj.map.getZoom());
|
||||||
// this.hiMap.mapObj.map.flyTo({ lat: 36.06, lng: 120.3899 }, 16)
|
// this.hiMap.mapObj.map.flyTo({ lat: 36.06, lng: 120.3899 }, 16)
|
||||||
this.addressMatchUrl = window.SITE_CONFIG.POI_URL
|
this.addressMatchUrl = window.SITE_CONFIG.POI_URL
|
||||||
// 初始化地址检索服务
|
// 初始化地址检索服务
|
||||||
|
@ -204,6 +205,7 @@ import { ElMessage } from 'element-plus'
|
||||||
mybus.on('cameraDataOnMap', (data) => {
|
mybus.on('cameraDataOnMap', (data) => {
|
||||||
this.addResourceTomap('videoMap', data)
|
this.addResourceTomap('videoMap', data)
|
||||||
})
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: { // 查询
|
methods: { // 查询
|
||||||
handleEnter(){
|
handleEnter(){
|
||||||
|
@ -475,7 +477,7 @@ import { ElMessage } from 'element-plus'
|
||||||
pageSize: 30000,
|
pageSize: 30000,
|
||||||
type: 0,
|
type: 0,
|
||||||
borderPolygonList: []
|
borderPolygonList: []
|
||||||
}
|
}
|
||||||
getCameraByCondition(params).then((res) => {
|
getCameraByCondition(params).then((res) => {
|
||||||
// let t1 = new Date().getTime();
|
// let t1 = new Date().getTime();
|
||||||
// this.cameraAllData = res.data.data
|
// this.cameraAllData = res.data.data
|
||||||
|
|
Loading…
Reference in New Issue