2023西安数博会CIM演示-【前端】-Web
AdaKing88
2023-08-21 bc03b832caa49bbcd2674fe4cae3701b5059bf95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<template>
  <div
    class="main3dviewerex"
    @mouseleave="removeEventListener()"
    @mouseover="addEventListener()"
    style="width: 100%; height: 100%"
  >
    <sdk-container-ex> </sdk-container-ex>
  </div>
</template>
<script>
import sdkContainerEx from "../../../components/sgword/mapViewEx.vue";
export default {
  props: {
    btnClick: {
      type: Function,
      default: null,
    },
  },
  components: { sdkContainerEx },
  data() {
    return {};
  },
  methods: {
    syncViewer(global1, global2) {
      global1.camera.flyTo({
        destination: global2.camera.position,
        orientation: {
          heading: global2.camera.heading,
          pitch: global2.camera.pitch,
          roll: global2.camera.roll,
        },
        duration: 0.0,
      });
    },
    start() {
      this.syncViewer(Viewer, ViewerEx);
    },
    removeEventListener() {
      let that = this;
      this.$nextTick(() => {
        if (sgworld && sgworldEx) {
          console.log("out");
          ViewerEx.scene.preRender.removeEventListener(that.start);
        }
      });
    },
    addEventListener() {
      let that = this;
      this.$nextTick(() => {
        if (sgworld && sgworldEx) {
          console.log("in");
          ViewerEx.scene.preRender.addEventListener(that.start);
        }
      });
    },
  },
  mounted() {
    let that = this;
    this.$nextTick(() => {
      // if (sgworld && sgworldEx) {
        // Viewer.scene.preRender.addEventListener(() => {
        //   that.syncViewer(ViewerEx, Viewer);
        // });
        // Viewer.entities.add({
        //   position: Cesium.Cartesian3.fromDegrees(0, 0),
        //   label: {
        //     text: new Cesium.CallbackProperty(function () {
        //       that.syncViewer(ViewerEx, Viewer);
        //       return "";
        //     }, true),
        //   },
        // });
        // ViewerEx.entities.add({
        //   position: Cesium.Cartesian3.fromDegrees(0, 0),
        //   label: {
        //     text: new Cesium.CallbackProperty(function () {
        //       that.syncViewer(Viewer, ViewerEx);
        //       return "";
        //     }, true),
        //   },
        // });
      // }
    });
    // let elementResizeDetectorMaker = require("element-resize-detector");
    // let erd = elementResizeDetectorMaker();
    // erd.listenTo(
    //   document.getElementsByClassName("main3dviewer"),
    //   function (element) {
    //     // let height = element.offsetHeight;
    //     // let isOn = height > 400 ? "" : "none";
    //     // $(".rightbuttongroup").css("display", isOn);
    //   }
    // );
  },
};
</script>
<style lang="less" scoped>
</style>