cesium 在大屏自适应插件下放大位置偏移

放大不在中心距离 可以关闭插件试一下

使用的 vue3-scale-box

复制代码
npm install vue3-scale-box
复制代码
<template>
  <ScaleBox
    :width="1920"
    :height="1080"
    bgc="transparent"
    :delay="100"
    @scaleChange="scaleChange"
    :isFlat="false"
  >
    <div class="ec-demo" id="ec-demo"></div>
  </ScaleBox>
</template>
<script setup>
import ScaleBox from "vue3-scale-box";
</script>
属性
width 宽度 默认 1920
height 高度 默认 1080
bgc 背景颜色 默认 "transparent"
delay自适应缩放防抖延迟时间(ms) 默认 100
isFlat是否启用拉伸模式 默认 false
@scaleChange 缩放值发生改变的方法 可动态获取 scale 改变后的值 注意:拉伸模式下scale值为: [x缩放值, y缩放值];非拉伸模式下scale值为:等比缩放值

存储事件中的缩放值

const scaleChange=(even)=>{

store.commit('scaleChange', even)

}

在使用cesium页面

复制代码
import { useStore } from 'vuex'
const store = useStore()
const isscale = computed(() => store.state.scale)
const resetMapSize = () => {
  let mapContent = document.getElementById("loadingIndicator");
  if (mapContent) {
    mapContent.style.transform = `scale(${1 / isscale.value[0]},${1 / isscale.value[1]
      })`
  }
}

watch(
  () => computed(() => store.state.scale),
  () => {
    resetMapSize()
  }, { deep: true }
);

大致为在通过缩放比再缩放回来

相关推荐
我命由我123454 分钟前
Element Plus - 在 el-select 的每个选项右侧添加按钮
前端·javascript·vue.js·前端框架·ecmascript·html5·js
weixin199701080169 分钟前
衣联网商品详情页前端性能优化实战
前端·性能优化
技术钻石流12 分钟前
面向“传统程序员”的端到端 10x Vibe Coding 指南(大型需求) - 从面向业务开发转向面向“Agent 员工”开发
前端·后端·ai编程
codingWhat12 分钟前
Electron 入门实战:用一个加法计算器吃透 Electron 核心概念
前端·javascript·electron
张一凡9317 分钟前
easy-model 在任务管理应用中的实际应用
前端·react.js
专业流量卡17 分钟前
React useMemo 源码ai解析
前端
TechFind18 分钟前
AI Agent 开发完整教程:从零到上线的实战指南
java·javascript
进击的尘埃18 分钟前
把 800 行 `index.ts` 拆成 MCP 架构这件事,我踩了不少坑
javascript
Tzarevich26 分钟前
深入理解Event Loop:从原理图到代码实战,小白也能看懂的 JS 执行机制
前端·javascript·面试
毛骗导演33 分钟前
发送一句「你好」,为什么花掉了几千个 Token?——深读 OpenClaw 的 Context 注入机制
前端·架构