From 5e77d75c30795cf892f5550db94669975ff573f9 Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Tue, 20 Sep 2022 15:38:24 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/srs-police-affairs
---
src/components/map/index.vue | 40 ++++++++++++++++++++++++++--------------
1 files changed, 26 insertions(+), 14 deletions(-)
diff --git a/src/components/map/index.vue b/src/components/map/index.vue
index 8a43f82..ed6a2d7 100644
--- a/src/components/map/index.vue
+++ b/src/components/map/index.vue
@@ -2,7 +2,7 @@
* @Author: shuishen 1109946754@qq.com
* @Date: 2022-08-18 17:00:30
* @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2022-09-19 18:19:53
+ * @LastEditTime: 2022-09-20 15:05:14
* @FilePath: \srs-police-affairs\src\components\map\index.vue
* @Description: 公用地图组件
*
@@ -181,11 +181,12 @@
}
})
+ // global.viewer.scene.globe.depthTestAgainstTerrain = false
+
// 去除logo
let primitiveArr = global.viewer.scene.primitives._primitives
global.viewer.scene.primitives.remove(primitiveArr[0])
- // global.viewer.scene.globe.depthTestAgainstTerrain = true
// 已声明的图层添加到地图上
siteEntitylayers = new global.DC.VectorLayer('siteEntitylayers')
@@ -344,7 +345,7 @@
})
this.$EventBus.$on('flyToPosition', (params) => {
- that.flyToPosition(params.siteJd, params.siteWd, params.siteGd = 0, params.siteHeading = 0, params.sitePitch = -90, params.siteRoll = 0, params.time = 3)
+ that.flyToPosition(params.siteJd, params.siteWd, params.siteGd = 2000, params.siteHeading = 0, params.sitePitch = -90, params.siteRoll = 0, params.time = 3)
})
@@ -401,7 +402,7 @@
* @param {*} url 图标地址
*/
addSiteEntity (item, url) {
- const billboard = new global.DC.Billboard(new global.DC.Position(Number(item.lon), Number(item.lat)), url)
+ const billboard = new global.DC.Billboard(new global.DC.Position(Number(item.lng), Number(item.lat)), url)
billboard.size = [20, 28]
billboard.attrParams = item
siteEntitylayers.addOverlay(billboard)
@@ -419,8 +420,10 @@
mapAddLayer (layerName, type) {
if (type == 'VectorLayer') {
if (!layersObjcect[layerName]) layersObjcect[layerName] = null
- layersObjcect[layerName] = new global.DC.VectorLayer('layerName')
- global.viewer.addLayer(layersObjcect[layerName])
+
+ layersObjcect[layerName] = new global.DC.VectorLayer(layerName)
+
+ layersObjcect[layerName].addTo(global.viewer)
}
},
@@ -444,7 +447,8 @@
*/
mapClearLayer (layerName, type) {
if (type == 'VectorLayer') {
- layersObjcect[layerName].clear()
+ if (layersObjcect[layerName] && layersObjcect[layerName] != null)
+ layersObjcect[layerName].clear()
}
},
@@ -456,15 +460,18 @@
* @param {*} incident 添加的点位事件
*/
layerPointAdd (layerName, type, params, incident) {
+ if (!layersObjcect[layerName] || layersObjcect[layerName] == null) {
+ this.mapAddLayer(layerName, 'VectorLayer')
+ }
let pointElement
if (type == "billboard") {
- pointElement = new global.DC.Billboard(new global.DC.Position(Number(params.lon), Number(params.lat)), params.url)
+ pointElement = new global.DC.Billboard(new global.DC.Position(Number(params.lng), Number(params.lat), Number(params.alt)), params.url)
- pointElement.size = [20, 28]
+ pointElement.size = [32, 32]
} else if (type == "label") {
- pointElement = new global.DC.Label(new global.DC.Position(Number(params.lon), Number(params.lat), 0), params.url)
+ pointElement = new global.DC.Label(new global.DC.Position(Number(params.lng), Number(params.lat), 0), params.url)
pointElement.setStyle({
fillColor: global.DC.Color.CRIMSON,
@@ -475,7 +482,9 @@
pixelOffset: { x: 0, y: -24 }
})
}
+
pointElement.attrParams = params
+
layersObjcect[layerName].addOverlay(pointElement)
pointElement.on(global.DC.MouseEventType.CLICK, incident)
},
@@ -489,13 +498,14 @@
layerPolygonAdd (layerName, positions, material) {
if (!layersObjcect[layerName] || layersObjcect[layerName] == null) {
this.mapAddLayer(layerName, 'VectorLayer')
+
+ layersObjcect[layerName].allowDrillPicking = true
}
let polygon = new global.DC.Polygon(positions)
polygon.setStyle({
material: material,
- extrudedHeight: 0,
perPositionHeight: true
})
@@ -570,9 +580,11 @@
* @param {*} incident 模型点击事件
*/
removeMxTileset (titlesetName, incident) {
- tilesetObject[titlesetName].off(global.DC.MouseEventType.CLICK, incident)
- tilesetLayer.removeOverlay(tilesetObject[titlesetName])
- tilesetObject[titlesetName] = null
+ if (tilesetObject[titlesetName] && tilesetObject[titlesetName] != null) {
+ tilesetObject[titlesetName].off(global.DC.MouseEventType.CLICK, incident)
+ tilesetLayer.removeOverlay(tilesetObject[titlesetName])
+ tilesetObject[titlesetName] = null
+ }
},
},
--
Gitblit v1.9.3