| | |
| | | > |
| | | </a-auto-complete> |
| | | </div> |
| | | <!-- <div class="switch"> |
| | | <div class="2d" v-if="dimension === 3" @click="switchModel('2D')">2D</div> |
| | | <div class="3d" v-else @click="switchModel('3D')">3D</div> |
| | | </div> --> |
| | | </template> |
| | | <div class="switch"> |
| | | <div class="2d" v-if="dimension === 2" @click="switchDimension('3D')">2D</div> |
| | | <div class="3d" v-else @click="switchDimension('2D')">3D</div> |
| | | </div> |
| | | </template>\ |
| | | |
| | | <script setup lang="ts"> |
| | | import { ref, } from 'vue' |
| | |
| | | } |
| | | } |
| | | const searchLocation = _.debounce(search, 500) |
| | | const { flyTo, addPoint, removeById } = cesiumOperation() |
| | | const { flyTo, addPoint, removeById, switchModel, dimension } = cesiumOperation() |
| | | const enter = (e:string) => { |
| | | removeById('key') |
| | | const filterItem = resultList.value.find(v => v.value === e) |
| | |
| | | addPoint({ ...pointParams, ...params }) |
| | | flyTo(params) |
| | | } |
| | | const switchDimension = (type:string) => { |
| | | switchModel(type) |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | |
| | | var viewer: Cesium.Viewer | null = null |
| | | export function cesiumOperation () { |
| | | let handler: Cesium.ScreenSpaceEventHandler |
| | | const dimension = ref(3) |
| | | const _init = () => { |
| | | if (viewer) return |
| | | // Cesium Token |
| | |
| | | duration |
| | | }) |
| | | } |
| | | |
| | | // 二维三维切换 |
| | | // 切换为二三维模式 |
| | | const switchModel = (type: string) => { |
| | | switch (type) { |
| | | case '2D': |
| | | viewer?.scene.camera.setView({ |
| | | orientation: { |
| | | pitch: Cesium.Math.toRadians(-60), |
| | | heading: Cesium.Math.toRadians(0), |
| | | } |
| | | }) |
| | | dimension.value = 2 |
| | | break |
| | | case '3D': |
| | | viewer?.scene.camera.setView({ |
| | | orientation: { |
| | | pitch: Cesium.Math.toRadians(-90), |
| | | heading: Cesium.Math.toRadians(0), |
| | | } |
| | | }) |
| | | dimension.value = 3 |
| | | } |
| | | } |
| | | onMounted(() => { |
| | | if (viewer) return |
| | | _init() |
| | |
| | | addPoint, |
| | | removeAllPoint, |
| | | flyTo, |
| | | removeById |
| | | removeById, |
| | | switchModel, |
| | | dimension |
| | | } |
| | | } |