lixuliang
2024-04-19 95d1e83afa65f1d52eaabc4fe58374cd4edbc9c5
src/components/viewer.vue
@@ -1,5 +1,9 @@
<template>
  <div>
    <div class="imgbox" v-if="showFlyimg">
      <img src="../assets/image/feixingqi.png" alt="" />
    </div>
    <div id="app1"></div>
  </div>
</template>
@@ -22,7 +26,9 @@
export default {
  name: "App",
  data() {
    return {};
    return {
      showFlyimg: false,
    };
  },
  methods: {
    init() {
@@ -61,6 +67,7 @@
          window.Viewer = webgis.Viewer;
          window.viewer = webgis.Viewer;
          window.Cesium = Cesium;
          let that = this;
          window.layers = window.sgworld.Viewer.scene.imageryLayers;
          // const blackMarble = layers.addImageryProvider(
@@ -72,7 +79,7 @@
          // 地球颜色
          Viewer.scene.globe.baseColor =
            Cesium.Color.fromCssColorString("#272d39");
            // //飞向广州
          // //飞向广州
          // window.Viewer.camera.flyTo({
          //   destination: Cesium.Cartesian3.fromDegrees(
          //     113.29503528791071,
@@ -95,6 +102,34 @@
              heading: 1.249372341578318,
              pitch: -0.7222154573481174,
              roll: 0,
            },
            complete: function callback() {
              viewer.camera.changed.addEventListener(() => {
                // 视高 km
                let alt = (
                  viewer.camera.positionCartographic.height / 1000
                ).toFixed(2);
                // 方位角
                let heading = Cesium.Math.toDegrees(
                  viewer.camera.heading
                ).toFixed(2);
                // 俯仰角
                let pitch = Cesium.Math.toDegrees(viewer.camera.pitch).toFixed(
                  2
                );
                // 翻滚角
                let roll = Cesium.Math.toDegrees(viewer.camera.roll).toFixed(2);
                // 级别
                let level = 0;
                let tileRender = viewer.scene._globe._surface._tilesToRender;
                if (tileRender && tileRender.length > 0) {
                  level = viewer.scene._globe._surface._tilesToRender[0]._level;
                }
                // let str = `级数:${level} 视高:${alt}km  方位角:${heading}° 俯仰角:${pitch}° 翻滚角:${roll}°`;
                console.log(pitch);
                that.showFlyimg = pitch > -25 ? true : false;
                // console.log(that.showFlyimg);
              });
            },
          });
          let urldian1 =
@@ -139,6 +174,7 @@
            }
          });
          // window.Viewer.shadows = false;
          //深度检测
          window.Sgworld.Analysis.depthTestAgainstTerrain(true);
          /*
@@ -174,7 +210,7 @@
        nav: {
          navTop: () => import("@/components/top/navTop"),
        },
        showSub: true,
        showSub: false,
        compss: [
          {
            sub: "频谱态势分析", //网格管理
@@ -238,6 +274,44 @@
          DynamicMap: () => import("@/components/props/bottom"), //态势图动态播放
          freeAnalyse: () => import("@/components/props/freeAnalyse"), //空闲资源展示
          moreTZ: () => import("@/components/props/moreTZ"), //空闲资源展示
          // SurprisePlus
          showMilitaryPlot: () => import("@/components/props/militaryPlot"), //军事标绘
          situationComparison: () =>
            import("@/components/props/situationComparison"), //态势对比
          occupancyAnalysis: () =>
            import("@/components/props/occupancyAnalysis"), //频谱占用度分析
          densityAnalysis: () => import("@/components/props/densityAnalysis"), //用频密度分析
          SC1: () => import("@/components/props/situationComparison6-1"),
          SC2: () => import("@/components/props/situationComparison6-2"),
          SC3: () => import("@/components/props/situationComparison6-3"),
          SC4: () => import("@/components/props/situationComparison6-4"),
          SC5: () => import("@/components/props/situationComparison6-5"),
          SC6: () => import("@/components/props/situationComparison6-6"),
          SC7: () => import("@/components/props/situationComparison6-7"),
          SC8: () => import("@/components/props/situationComparison7-1"),
          SC9: () => import("@/components/props/situationComparison7-2-1"),
          SC10: () => import("@/components/props/situationComparison7-3-1"),
          SC11: () => import("@/components/props/situationComparison7-4"),
          SC12: () => import("@/components/props/situationComparison7-5"),
          SC13: () => import("@/components/props/situationComparison7-6"),
          SC14: () => import("@/components/props/situationComparison7-7"),
          SC15: () => import("@/components/props/situationComparison7-8"),
          SC16: () => import("@/components/props/situationComparison7-9"),
          SC17: () => import("@/components/props/situationComparison8-1"),
          SC18: () => import("@/components/props/situationComparison8-2"),
          SC19: () => import("@/components/props/situationComparison8-3"),
          SC20: () => import("@/components/props/situationComparison8-4"),
          SC21: () => import("@/components/props/situationComparison9-1"),
          SC22: () => import("@/components/props/situationComparison9-2"),
          SC23: () => import("@/components/props/situationComparison9-3"),
          SC24: () => import("@/components/props/situationComparison10-1"),
          SC25: () => import("@/components/props/situationComparison10-2"),
          SC26: () => import("@/components/props/situationComparison10-3"),
          SC27: () => import("@/components/props/situationComparison10-4"),
          SC28: () => import("@/components/props/situationComparison7-10"),
          SC29: () => import("@/components/props/situationComparison7-11"),
        },
      });
    },
@@ -249,6 +323,19 @@
</script>
<style>
.imgbox {
  position: absolute;
  /* background-color: #fff; */
  /* opacity: 0.2;. */
  /* top:50px; */
  width: 100%;
  height: 500px;
}
img {
  width: 100%;
  height: 100%;
  -webkit-user-drag: none;
}
#app1 {
  font-family: "Avenir", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;