chenyao
2025-02-18 b5591da48cf8cc2a3c3f76eec86dfdfa5bf47485
src/views/components/ptzControl.vue
@@ -14,11 +14,15 @@
        <img src="@/assets/images/sx-close.png"/>
      </div>
      <div class="btn-item" @touchstart="onZoom(true)">
        <img src="@/assets/images/fang.png" />
        <img src="@/assets/images/fangda.png" />
      </div>
      <div class="btn-item" @touchstart="onZoom(false)">
        <img src="@/assets/images/suo.png" />
        <img src="@/assets/images/suoxiao.png" />
      </div>
      <!-- <div class="btn-item" @touchstart="onChangeD">
        <img v-if="is2d" src="@/assets/images/stand.png" />
        <img v-else src="@/assets/images/satellite.png" />
      </div> -->
    </div>
    <div class="circle-box" v-show="isPtz">
      <div class="top" @click="ytClick('up')" @mousedown="onMouseDown(KeyCode.ARROW_UP)" @mouseup="onMouseUp"
@@ -47,7 +51,10 @@
import { switchLivestream } from '@/api/drone'
import { usePayloadControl } from './use-payload-control'
import { useDroneControlWsEvent } from '@/utils/websocket/drone-ws-control'
import cesiumOperation from '@/utils/cesium-tsa.js';
import { useMyStore } from '@/store'
const { loadLAYER } = cesiumOperation()
const {
  checkPayloadAuth,
@@ -66,6 +73,10 @@
    required: true,
  },
  osdVisible: {
    type: Object,
    required: true,
  },
  cesiumViewe: {
    type: Object,
    required: true,
  }
@@ -89,6 +100,9 @@
// 是否显示云台图标
let isPtz = ref(false)
// 显示高德地图矢量还是影像(2D/3D)
// let is2d = ref(true)
let yaw_speed = ref((payloadCameraMode.value == 'wide'? 1 : Math.ceil(zoom_factor.value))*10) // 云台横向角度
let pitch_speed = ref((payloadCameraMode.value == 'wide'? 1 : Math.ceil(zoom_factor.value))*10) // 云台纵向角度
@@ -332,6 +346,12 @@
  })
}
// const onChangeD = () => {
//   is2d.value = !is2d.value
//   store.commit('SET_MAP_SETTING_MODE', is2d.value?2:3);
//   loadLAYER();
// }
// 重置云台角度
const onResetGimbal = async (resetMode:any) => {
  try {
@@ -381,7 +401,7 @@
  .ptz {
    position: fixed;
    top: 3rem;
    right: 0.2rem;
    left: 0.2rem;
    width: 2rem;
    height: 2rem;
    border-radius: 3px;
@@ -405,7 +425,7 @@
  .btn-group {
    position: fixed;
    top: 5.8rem;
    right: 4px;
    left: 0.2rem;
    // padding: 4px;
    .btn-item {
      width: 2rem;