|
|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <div class="csq-container" v-if="visible">
|
|
|
+ <div class="csq-container" v-if="visible" :style="popupStyle">
|
|
|
<div class="csq-popup-title">
|
|
|
<span class="title-text">{{ title }}</span>
|
|
|
<img src="@/assets/image/common/close.png" style="cursor: pointer" alt="" @click="closeModal" />
|
|
|
@@ -29,25 +29,22 @@ export default {
|
|
|
},
|
|
|
mounted() {
|
|
|
this.$globalEventBus.$on('clickCsqModal', (data) => {
|
|
|
- this.visible = true
|
|
|
+ // this.visible = true
|
|
|
this.title = data.title
|
|
|
+ this.showPopup(data)
|
|
|
})
|
|
|
},
|
|
|
methods: {
|
|
|
showPopup(data) {
|
|
|
// 将笛卡尔坐标转换为屏幕坐标
|
|
|
- const scene = window.map.scene
|
|
|
- const cartesian = data.position
|
|
|
- console.info(cartesian)
|
|
|
- const cartesian3 = this.mars3d.LatLngPoint.fromArray([data.position.lng, data.position.lat, data.position.alt]).toCartesian();
|
|
|
- const canvasPosition = this.mars3d.SceneTransforms.wgs84ToWindowCoordinates(scene, cartesian3);
|
|
|
- // const canvasPosition = this.mars3d.PointTrans.toWindowCoordinates(scene, cartesian)
|
|
|
- console.info(canvasPosition)
|
|
|
+ const cartesian = this.Cesium.Cartesian3.fromDegrees(data.position[0],data.position[1],data.position[2])
|
|
|
+ const canvasPosition = this.Cesium.SceneTransforms.worldToWindowCoordinates (window.map.scene, cartesian);
|
|
|
+ console.info(canvasPosition)
|
|
|
if (canvasPosition) {
|
|
|
this.popupStyle = {
|
|
|
position: 'absolute',
|
|
|
left: `${canvasPosition.x}px`,
|
|
|
- top: `${canvasPosition.y - 100}px`, // 向上偏移,避免遮挡点位
|
|
|
+ top: `${canvasPosition.y -400}px`, // 向上偏移,避免遮挡点位
|
|
|
'z-index': 1000
|
|
|
}
|
|
|
|