From 81f54040c2cb65537c6c6e1db8358a39a57dea0d Mon Sep 17 00:00:00 2001
From: mayisheng <admin>
Date: Mon, 15 Aug 2022 16:14:01 +0800
Subject: [PATCH] 1
---
src/components/campusNav/index.vue | 133 +++++++++++++++++++++++++-------------------
1 files changed, 76 insertions(+), 57 deletions(-)
diff --git a/src/components/campusNav/index.vue b/src/components/campusNav/index.vue
index 242e268..c6e43a2 100644
--- a/src/components/campusNav/index.vue
+++ b/src/components/campusNav/index.vue
@@ -73,14 +73,21 @@
import { mapGetters } from 'vuex'
import { getSearchList } from '@/api/pc/public/search'
import axios from 'axios'
+
+const CamPusNavLayer = {
+ campusStartLayer: null,
+ campusEndLayer: null,
+ campusRouteLayer: null
+}
+
export default {
name: 'campusNav',
data () {
return {
+
tabOneFlag: true,
tabTwoFlag: false,
navigationWay: '步行',
- routeLayer: null,
toNameText: '',
comeNameText: '',
toNameList: [],
@@ -90,8 +97,6 @@
overChouse: false,
butChouse: '',
- startLayer: null,
- endLayer: null,
pathBoxShow: false,
pathBoxList: [],
@@ -159,11 +164,11 @@
// 若是已经有导航,恢复未点击图标
if (val == 'start') {
// 初始化图标图层
- if (this.endLayer == null) {
- this.endLayer = new global.DC.VectorLayer('endLayer')
- global.viewer.addLayer(this.endLayer)
+ if (CamPusNavLayer.campusEndLayer == null) {
+ CamPusNavLayer.campusEndLayer = new global.DC.VectorLayer('campusEndLayer')
+ global.viewer.addLayer(CamPusNavLayer.campusEndLayer)
} else {
- this.endLayer.clear()
+ CamPusNavLayer.campusEndLayer.clear()
}
// console.log("baoliuend", "see");
that.$store.commit('SET_STARTINGPOINT', [])
@@ -175,14 +180,14 @@
),
'/img/navicon/end.png'
)
- that.endLayer.addOverlay(endEntity)
+ CamPusNavLayer.campusEndLayer.addOverlay(endEntity)
} else if (val == 'end') {
// 初始化图标图层
- if (this.startLayer == null) {
- this.startLayer = new global.DC.VectorLayer('startLayer')
- global.viewer.addLayer(this.startLayer)
+ if (CamPusNavLayer.campusStartLayer == null) {
+ CamPusNavLayer.campusStartLayer = new global.DC.VectorLayer('campusStartLayer')
+ global.viewer.addLayer(CamPusNavLayer.campusStartLayer)
} else {
- this.startLayer.clear()
+ CamPusNavLayer.campusStartLayer.clear()
}
// console.log("baoliustart", "see");
that.$store.commit('SET_TERMINUS', [])
@@ -194,7 +199,7 @@
),
'/img/navicon/start.png'
)
- that.startLayer.addOverlay(startEntity)
+ CamPusNavLayer.campusStartLayer.addOverlay(startEntity)
}
}
@@ -209,20 +214,20 @@
if (val == 'start') {
title = '点击选择起点'
// 初始化图标图层
- if (this.startLayer == null) {
- this.startLayer = new global.DC.VectorLayer('startLayer')
- global.viewer.addLayer(this.startLayer)
+ if (CamPusNavLayer.campusStartLayer == null) {
+ CamPusNavLayer.campusStartLayer = new global.DC.VectorLayer('campusStartLayer')
+ global.viewer.addLayer(CamPusNavLayer.campusStartLayer)
} else {
- this.startLayer.clear()
+ CamPusNavLayer.campusStartLayer.clear()
}
} else if (val == 'end') {
title = '点击选择终点'
// 初始化图标图层
- if (this.endLayer == null) {
- this.endLayer = new global.DC.VectorLayer('endLayer')
- global.viewer.addLayer(this.endLayer)
+ if (CamPusNavLayer.campusEndLayer == null) {
+ CamPusNavLayer.campusEndLayer = new global.DC.VectorLayer('campusEndLayer')
+ global.viewer.addLayer(CamPusNavLayer.campusEndLayer)
} else {
- this.endLayer.clear()
+ CamPusNavLayer.campusEndLayer.clear()
}
}
that.overChouse = false // 开启事件
@@ -248,7 +253,7 @@
),
'/img/navicon/start.png'
)
- that.startLayer.addOverlay(startEntity)
+ CamPusNavLayer.campusStartLayer.addOverlay(startEntity)
} else if (that.butChouse == 'end') {
that.comeNameText = '自定义终点'
// 传输坐标数据
@@ -262,7 +267,7 @@
),
'/img/navicon/end.png'
)
- that.endLayer.addOverlay(endEntity)
+ CamPusNavLayer.campusEndLayer.addOverlay(endEntity)
}
title = ''
tooltip.enable = false
@@ -278,6 +283,7 @@
tooltip.showAt(e.windowPosition, title)
})
},
+
closeModel () {
if (this.$route.path.indexOf('/campusnavi') != -1) {
this.$store.dispatch('delVisitedViews', this.$route)
@@ -290,18 +296,21 @@
this.comeNameText = ''
this.comeNameList = []
this.comeNameShow = false
- if (this.routeLayer != null) {
- this.routeLayer.clear()
+ this.pathBoxList = []
+ this.pathBoxShow = false
+
+ if (CamPusNavLayer.campusRouteLayer != null) {
+ CamPusNavLayer.campusRouteLayer.clear()
this.isOverRouter = false
}
// 清除自定义位置
- if (this.startLayer != null) {
- this.startLayer.clear()
- // this.startLayer = null;
+ if (CamPusNavLayer.campusStartLayer != null) {
+ CamPusNavLayer.campusStartLayer.clear()
+ // CamPusNavLayer.campusStartLayer = null;
}
- if (this.endLayer != null) {
- this.endLayer.clear()
- // this.endLayer = null;
+ if (CamPusNavLayer.campusEndLayer != null) {
+ CamPusNavLayer.campusEndLayer.clear()
+ // CamPusNavLayer.campusEndLayer = null;
}
this.$store.commit('SET_COMENAME', '')
this.$store.commit('SET_TERMINUS', null)
@@ -319,20 +328,20 @@
startNavigation () {
const that = this
// 清除自定义位置
- if (this.startLayer != null) {
- this.startLayer.clear()
- // this.startLayer = null;
+ if (CamPusNavLayer.campusStartLayer != null) {
+ CamPusNavLayer.campusStartLayer.clear()
+ // CamPusNavLayer.campusStartLayer = null;
}
- if (this.endLayer != null) {
- this.endLayer.clear()
- // this.endLayer = null;
+ if (CamPusNavLayer.campusEndLayer != null) {
+ CamPusNavLayer.campusEndLayer.clear()
+ // CamPusNavLayer.campusEndLayer = null;
}
- if (this.routeLayer == null) {
- this.routeLayer = new global.DC.VectorLayer('navigation')
- global.viewer.addLayer(this.routeLayer)
+ if (CamPusNavLayer.campusRouteLayer == null) {
+ CamPusNavLayer.campusRouteLayer = new global.DC.VectorLayer('campusRouteLayer')
+ global.viewer.addLayer(CamPusNavLayer.campusRouteLayer)
} else {
- this.routeLayer.clear()
+ CamPusNavLayer.campusRouteLayer.clear()
}
if (this.startingPoint == null) {
this.$message('请输入起点!!!')
@@ -350,7 +359,7 @@
),
'/img/navicon/start.png'
)
- this.routeLayer.addOverlay(startEntity)
+ CamPusNavLayer.campusRouteLayer.addOverlay(startEntity)
// var end = global.DC.Transform.transformWGS84ToCartesian()
const endEntity = new global.DC.Billboard(
new global.DC.Position(
@@ -360,7 +369,7 @@
),
'/img/navicon/end.png'
)
- this.routeLayer.addOverlay(endEntity)
+ CamPusNavLayer.campusRouteLayer.addOverlay(endEntity)
var routes = ''
@@ -422,16 +431,20 @@
const polyline = new global.DC.Polyline(routes)
polyline.setStyle({
- width: 3,
- material: new global.DC.PolylineTrailMaterialProperty({
- color: global.DC.Color.RED,
- speed: 10
+ width: 6,
+ arcType: true,
+ material: new global.DC.PolylineImageTrailMaterialProperty({
+ color: global.DC.Namespace.Cesium.Color.fromBytes(10, 255, 10),
+ speed: 60,
+ image: '/img/icon/right.png',
+ repeat: { x: 320, y: 1 }
}),
clampToGround: true
})
- this.routeLayer.addOverlay(polyline)
+
+ CamPusNavLayer.campusRouteLayer.addOverlay(polyline)
if (this.twoOrThree == '真三维') {
- global.viewer.flyTo(this.routeLayer)
+ global.viewer.flyTo(CamPusNavLayer.campusRouteLayer)
} else {
var longitude = null
var latitude = null
@@ -506,17 +519,21 @@
const polyline = new global.DC.Polyline(routes)
polyline.setStyle({
- width: 3,
- material: new global.DC.PolylineTrailMaterialProperty({
- color: global.DC.Color.RED,
- speed: 10
+ width: 6,
+ arcType: true,
+ material: new global.DC.PolylineImageTrailMaterialProperty({
+ color: global.DC.Namespace.Cesium.Color.fromBytes(10, 255, 10),
+ speed: 60,
+ image: '/img/icon/right.png',
+ repeat: { x: 320, y: 1 }
}),
clampToGround: true
})
- this.routeLayer.addOverlay(polyline)
+
+ CamPusNavLayer.campusRouteLayer.addOverlay(polyline)
if (this.twoOrThree == '真三维') {
- global.viewer.flyTo(this.routeLayer)
+ global.viewer.flyTo(CamPusNavLayer.campusRouteLayer)
} else {
var longitude = null
var latitude = null
@@ -557,8 +574,10 @@
},
clearLayer () {
- if (this.routeLayer != null) {
- this.routeLayer.clear()
+ if (CamPusNavLayer.campusRouteLayer != null) {
+ CamPusNavLayer.campusRouteLayer.clear()
+ this.pathBoxList = []
+ this.pathBoxShow = false
}
},
--
Gitblit v1.9.3