From 54de656fb5f41a0ad982bdf896a1ea1691c0dede Mon Sep 17 00:00:00 2001
From: xiebin <123456>
Date: Fri, 02 Sep 2022 14:24:57 +0800
Subject: [PATCH] 遥感监测修改、遥感监测新增基地跳转地图
---
src/components/remote/index.vue | 373 +++++++++++++++++++++++++++++++++-------------------
1 files changed, 236 insertions(+), 137 deletions(-)
diff --git a/src/components/remote/index.vue b/src/components/remote/index.vue
index 4998304..3287315 100644
--- a/src/components/remote/index.vue
+++ b/src/components/remote/index.vue
@@ -2,6 +2,9 @@
<template>
<div style="height: 100%; width: 100%; position: relative;">
<div v-show="SelectTimeFlag">
+ <div class="selectname_left">
+ <select-name ref="selectNameLeft" @selectItem="selectItemLeft" :value="currentTitle" :selectList="farmSelectList"></select-name>
+ </div>
<select-time
ref="leftRoller"
:leftOrRight="'left'"
@@ -11,6 +14,9 @@
</div>
<div v-show="SelectTimeFlag">
+ <div class="selectname_right">
+ <select-name ref="selectNameRight" @selectItem="selectItemRight" :selectList="farmSelectList" :value="currentTitle"></select-name>
+ </div>
<select-time
ref="rightRoller"
:leftOrRight="'right'"
@@ -27,6 +33,11 @@
>
<el-button slot="append" @click="setLocation" icon="el-icon-search"></el-button>
</el-input>
+
+ <div class="selectname_index">
+ <select-name ref="selectName" :value="currentTitle" :selectList="farmSelectList" @selectItem="selectItem"></select-name>
+ </div>
+
</div>
<div class="tool-box">
@@ -98,161 +109,168 @@
v-if="!rollerCloseShow && !screenShow"
style="position: fixed; top: auto; left: 0; right: 0; bottom: 44px; margin: auto; width: 610px; height: 68px;"
>
- <time-line></time-line>
+ <time-line :timeLineList="timeLineList" :currentObj="currentObj" :currentInd="currentInd"></time-line>
</div>
</div>
</template>
<script>
+// import SelectName from '@/components/selectName'
+import { viewdata } from '@/assets/viewdata.js'
let baselayerElc = null
let num = 0
-
export default {
name: 'remote',
-
+ // components: { SelectName },
data () {
return {
// 左边集合
leftRollerLayers: [],
// 右边集合
rightRollerLayers: [],
-
SelectTimeFlag: false,
rollerCloseShow: false,
screenShow: false,
- location: ''
+ location: '',
+ farmSelectList: viewdata,
+ currentTitle: viewdata[0].name,
+ timeLineList: viewdata[0].childItem,
+ currentObj: viewdata[0].childItem[0],
+ currentInd: 0
}
},
created () {
- this.leftRollerLayers = [{
- title: '2022年5月影像',
- url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdom/MapServer/WMTS',
- layer: 'nanchengdom',
- style: 'default',
- tileMatrixSetID: 'default028mm',
- format: 'image/png',
- tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
- maximumLevel: 19,
- tileMatrixLabels: [
- '0',
- '1',
- '2',
- '3',
- '4',
- '5',
- '6',
- '7',
- '8',
- '9',
- '10',
- '11',
- '12',
- '13',
- '14',
- '15',
- '16',
- '17',
- '18',
- '19'
- ]
- }, {
- title: '2022年7月影像',
- url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdomjuly/MapServer/WMTS',
- layer: 'nanchengdomjuly',
- style: 'default',
- tileMatrixSetID: 'default028mm',
- format: 'image/png',
- tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
- maximumLevel: 19,
- tileMatrixLabels: [
- '0',
- '1',
- '2',
- '3',
- '4',
- '5',
- '6',
- '7',
- '8',
- '9',
- '10',
- '11',
- '12',
- '13',
- '14',
- '15',
- '16',
- '17',
- '18',
- '19'
- ]
- }]
+ // this.leftRollerLayers = [
+ // {
+ // title: '2022年6月影像',
+ // url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdom/MapServer/WMTS',
+ // layer: 'nanchengdom',
+ // style: 'default',
+ // tileMatrixSetID: 'default028mm',
+ // format: 'image/png',
+ // tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
+ // maximumLevel: 19,
+ // tileMatrixLabels: [
+ // '0',
+ // '1',
+ // '2',
+ // '3',
+ // '4',
+ // '5',
+ // '6',
+ // '7',
+ // '8',
+ // '9',
+ // '10',
+ // '11',
+ // '12',
+ // '13',
+ // '14',
+ // '15',
+ // '16',
+ // '17',
+ // '18',
+ // '19'
+ // ]
+ // },
+ // {
+ // title: '2022年7月影像',
+ // url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdomjuly/MapServer/WMTS',
+ // layer: 'nanchengdomjuly',
+ // style: 'default',
+ // tileMatrixSetID: 'default028mm',
+ // format: 'image/png',
+ // tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
+ // maximumLevel: 19,
+ // tileMatrixLabels: [
+ // '0',
+ // '1',
+ // '2',
+ // '3',
+ // '4',
+ // '5',
+ // '6',
+ // '7',
+ // '8',
+ // '9',
+ // '10',
+ // '11',
+ // '12',
+ // '13',
+ // '14',
+ // '15',
+ // '16',
+ // '17',
+ // '18',
+ // '19'
+ // ]
+ // }]
- this.rightRollerLayers = [{
- title: '2022年5月影像',
- url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdom/MapServer/WMTS',
- layer: 'nanchengdom',
- style: 'default',
- tileMatrixSetID: 'default028mm',
- format: 'image/png',
- tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
- maximumLevel: 19,
- tileMatrixLabels: [
- '0',
- '1',
- '2',
- '3',
- '4',
- '5',
- '6',
- '7',
- '8',
- '9',
- '10',
- '11',
- '12',
- '13',
- '14',
- '15',
- '16',
- '17',
- '18',
- '19'
- ]
- }, {
- title: '2022年7月影像',
- url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdomjuly/MapServer/WMTS',
- layer: 'nanchengdomjuly',
- style: 'default',
- tileMatrixSetID: 'default028mm',
- format: 'image/png',
- tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
- maximumLevel: 19,
- tileMatrixLabels: [
- '0',
- '1',
- '2',
- '3',
- '4',
- '5',
- '6',
- '7',
- '8',
- '9',
- '10',
- '11',
- '12',
- '13',
- '14',
- '15',
- '16',
- '17',
- '18',
- '19'
- ]
- }]
+ // this.rightRollerLayers = [{
+ // title: '2022年6月影像',
+ // url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdom/MapServer/WMTS',
+ // layer: 'nanchengdom',
+ // style: 'default',
+ // tileMatrixSetID: 'default028mm',
+ // format: 'image/png',
+ // tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
+ // maximumLevel: 19,
+ // tileMatrixLabels: [
+ // '0',
+ // '1',
+ // '2',
+ // '3',
+ // '4',
+ // '5',
+ // '6',
+ // '7',
+ // '8',
+ // '9',
+ // '10',
+ // '11',
+ // '12',
+ // '13',
+ // '14',
+ // '15',
+ // '16',
+ // '17',
+ // '18',
+ // '19'
+ // ]
+ // }, {
+ // title: '2022年7月影像',
+ // url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdomjuly/MapServer/WMTS',
+ // layer: 'nanchengdomjuly',
+ // style: 'default',
+ // tileMatrixSetID: 'default028mm',
+ // format: 'image/png',
+ // tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
+ // maximumLevel: 19,
+ // tileMatrixLabels: [
+ // '0',
+ // '1',
+ // '2',
+ // '3',
+ // '4',
+ // '5',
+ // '6',
+ // '7',
+ // '8',
+ // '9',
+ // '10',
+ // '11',
+ // '12',
+ // '13',
+ // '14',
+ // '15',
+ // '16',
+ // '17',
+ // '18',
+ // '19'
+ // ]
+ // }]
},
mounted () {
if (global.viewer != null) {
@@ -271,7 +289,7 @@
})
// 去除logo
- let primitiveArr = global.viewer.scene.primitives._primitives
+ const primitiveArr = global.viewer.scene.primitives._primitives
global.viewer.scene.primitives.remove(primitiveArr[0])
if (global.DC.Namespace.Cesium.FeatureDetection.supportsImageRenderingPixelated()) { // 判断是否支持图像渲染像素化处理
@@ -290,6 +308,24 @@
maximumLevel: 18
})
)
+
+ viewdata.forEach(item => {
+ global.viewer.imageryLayers.addImageryProvider(
+ new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+ url: item.childItem[0].url,
+ maximumLevel: 18
+ })
+ )
+ })
+ // var layerOne = new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+ // url: 'http://59.55.128.155:9003/image/wmts/x6FjrhkG/{z}/{x}/{y}',
+ // // url: 'http://59.55.128.155:9003/image/wmts/vNjFuYLb/{z}/{x}/{y}',
+ // maximumLevel: 18
+ // })
+ //
+ // global.viewer.imageryLayers.addImageryProvider(layerOne)
+
+ // global.viewer.flyTo(layerOne)
// http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdom/MapServer
@@ -315,12 +351,12 @@
// )
global.viewer.use(new global.DC.Measure())
-
+ // 初始化地图坐标 默认显示第一个基地
global.viewer.camera.setView({
// Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
// fromDegrees()方法,将经纬度和高程转换为世界坐标
destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
- 116.56705776, 27.42386903, 1800.0
+ viewdata[0].latitude, viewdata[0].longitude, 1800.0
),
orientation: {
// 指向
@@ -337,10 +373,50 @@
global.DC.ready(initViewer)
},
methods: {
+ goToDcBylatlon (lat, lon) {
+ global.viewer.camera.setView({
+ // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
+ // fromDegrees()方法,将经纬度和高程转换为世界坐标
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
+ lat, lon, 2800.0
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ },
deactivate () {
global.viewer.measure.deactivate()
},
-
+ // 遥感监测多时相基地下拉事件
+ selectItem (item, index) {
+ this.timeLineList = item.childItem
+ this.currentObj = this.timeLineList[0]
+ this.currentInd = 0
+ this.goToDcBylatlon(item.latitude, item.longitude)
+ },
+ // 遥感监测卷帘左基地下拉事件
+ selectItemLeft (item, index) {
+ this.leftRollerLayers = item.childItem
+ this.rightRollerLayers = item.childItem
+ this.$refs.selectNameRight.currentTitle = item.name
+ this.$refs.leftRoller.init()
+ this.$refs.rightRoller.init()
+ this.goToDcBylatlon(item.latitude, item.longitude)
+ },
+ // 遥感监测卷帘右基地下拉事件
+ selectItemRight (item, index) {
+ this.leftRollerLayers = item.childItem
+ this.rightRollerLayers = item.childItem
+ this.$refs.selectNameLeft.currentTitle = item.name
+ this.$refs.rightRoller.init()
+ this.$refs.leftRoller.init()
+ this.goToDcBylatlon(item.latitude, item.longitude)
+ },
// 根据地址获取坐标
addrToGetCoordinate (addr) {
const that = this
@@ -350,7 +426,6 @@
address: addr
})
.then((res) => {
- console.log(res)
if (res.status === 0) {
// 用获取到的经纬度,修改地图的中心点
global.viewer.camera.flyTo({
@@ -469,8 +544,14 @@
this.rollerCloseShow = true
this.SelectTimeFlag = true
this.deactivate()
+
+ // 初始化数据
+ this.leftRollerLayers = this.farmSelectList[0].childItem
this.$refs.leftRoller.init()
+ this.rightRollerLayers = this.farmSelectList[0].childItem
this.$refs.rightRoller.init()
+ // this.$refs.leftRoller.init()
+ // this.$refs.rightRoller.init()
},
closeRollerShutters () {
@@ -505,7 +586,25 @@
top: 25px;
left: 50px;
z-index: 9;
- width: 320px;
+ width: 485px;
+ display: flex;
+}
+.selectname_left {
+ position: absolute;
+ top: 30px;
+ left: 15%;
+ transform: translate(-50%, 0);
+ z-index: 99;
+}
+.selectname_right {
+ position: absolute;
+ top: 30px;
+ right: 35%;
+ transform: translate(50%, 0);
+ z-index: 99;
+}
+.selectname_index {
+ padding-left: 20px;
}
.l-time {
--
Gitblit v1.9.3