管道基础大数据平台系统开发-【前端】-新系統界面
TreeWish
2023-02-17 4ee67d14bfecbfb93a1d892229de15067fa696f6
一张图转动动画
已修改1个文件
122 ■■■■ 文件已修改
src/components/Screen/mapsdk.vue 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Screen/mapsdk.vue
@@ -21,24 +21,120 @@
        licenseServer: window.sceneConfig.licenseServer,
      })
      window.Viewer = window.sgworld._Viewer
      window.viewer = window.Viewer = window.sgworld._Viewer
      Viewer.imageryLayers._layers[0].show = false
      //定位
      // Viewer.camera.flyTo({
      //   destination: Cesium.Cartesian3.fromDegrees(110, 33, 25000000),
      // })
      Viewer.camera.flyTo({
        destination: {
          x: -3919623.6069864673,
          y: 13752070.475126158,
          z: 8307291.863719194,
        },
        orientation: {
          heading: 6.283185307179582,
          roll: 0,
          pitch: -1.5707039123519846,
        },
      })
      // Viewer.camera.flyTo({
      //   destination: {
      //     x: -10834926.182758586,
      //     y: 50483318.61217012,
      //     z: 38375099.7193183,
      //   },
      //   orientation: {
      //     heading: 6.283185307179578,
      //     roll: 0,
      //     pitch: -1.56436861046299,
      //   },
      // })
      //开启 tick61.2
      // Cesium.Camera.DEFAULT_VIEW_RECTANGLE = {
      //   west: -3.141592653589793,
      //   south: -1.5707963267948966,
      //   east: 3.141592653589793,
      //   north: 1.5707963267948966,
      // }
      viewer.clock.shouldAnimate = true
      //每次旋转的弧度 越小越慢
      var angle = Cesium.Math.toRadians(Math.PI * 1)
      // 旋转次数 用来控制停止
      var rotate_num = 0
      function onTickCallback() {
        viewer.scene.camera.rotate(Cesium.Cartesian3.UNIT_Z, angle)
        //以下用来控制 停止
        rotate_num++
        // 110 次旋转一周
        if (rotate_num == 1) {
          Viewer.camera.flyTo({
            destination: {
              x: -2395735.480669514,
              y: 35646557.30966785,
              z: 33320031.01620178,
            },
            orientation: {
              heading: 6.283185307179578,
              roll: 0,
              pitch: -1.5687480368906144,
            },
          })
        }
        if (rotate_num == 220) {
          Viewer.camera.flyTo({
            destination: {
              x: -4022999.313498903,
              y: 19214082.70976515,
              z: 13043510.373621361,
            },
            orientation: {
              heading: 6.283185307179577,
              roll: 0,
              pitch: -1.5643686104630592,
            },
          })
        }
        if (rotate_num === 330) {
          //结束旋转
          viewer.clock.onTick.removeEventListener(onTickCallback)
          //可以再接定位动画
          Viewer.camera.flyTo({
            destination: {
              x: -3919623.6069864673,
              y: 13752070.475126158,
              z: 8307291.863719194,
            },
            orientation: {
              heading: 6.283185307179582,
              roll: 0,
              pitch: -1.5707039123519846,
            },
          })
        }
      }
      // 利用时钟进行监听
      viewer.clock.onTick.addEventListener(onTickCallback)
      // setTimeout(() => {
      //   Viewer.camera.flyTo({
      //     destination: {
      //       x: -4022999.313498903,
      //       y: 19214082.70976515,
      //       z: 13043510.373621361,
      //     },
      //     orientation: {
      //       heading: 6.283185307179577,
      //       roll: 0,
      //       pitch: -1.5643686104630592,
      //     },
      //   })
      // }, 1000)
      // setTimeout(() => {
      //   Viewer.camera.flyTo({
      //     destination: {
      //       x: -3919623.6069864673,
      //       y: 13752070.475126158,
      //       z: 8307291.863719194,
      //     },
      //     orientation: {
      //       heading: 6.283185307179582,
      //       roll: 0,
      //       pitch: -1.5707039123519846,
      //     },
      //   })
      // }, 1000)
      Viewer.imageryLayers.addImageryProvider(
        new Cesium.UrlTemplateImageryProvider({