不同业务场景下通过mars3d实现绕点旋转效果

  • 1.鼠标单击地图某一处就对该点进行绕点旋转效果

相关代码:

1.相关绕点旋转的初始化代码:

复制代码
  const rotatePoint = new mars3d.thing.RotatePoint({
    direction: false, // 方向 true逆时针,false顺时针
    time: 50 // 给定飞行一周所需时间(单位 秒),控制速度
    // autoStopAngle: 360, //到达指定角度后自动停止
  })
  map.addThing(rotatePoint)

2..对map进行单击事件的监听,拿到鼠标单击位置点的坐标后,传入new mars3d.thing.RotatePoint({里面

复制代码
export function startRotate() {
  map.on(mars3d.EventType.click, (e) => {
    const point = mars3d.LngLatPoint.fromCartesian(e.cartesian)
  rotatePoint.start(point) // 可以传指定的中心点坐标
  })
}

3.相机会绕着该单击位置进行旋转展示

  • 2.相机绕当前视角的视域中心点进行旋转

1.拿到视域中线点

2.然后再传入相关绕点旋转的位置

复制代码
export function startRotate() {
  // 获取当前视角
  const point = map.getCenter()
  rotatePoint.start(point) // 可以传指定的中心点坐标
}

3.单击开始旋转按钮,即可按照当前视域中心点进行旋转


相关链接:

功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技

相关推荐
光影少年2 小时前
原生DOM操作在React 中的注意事项
前端·javascript·react.js
用户900463370402 小时前
用Gemini搞定Vue报错和语法异常的问题
vue.js
糖拌西瓜皮2 小时前
Node.js核心模块实战:文件、路径、HTTP与流处理
javascript·node.js
糖拌西瓜皮2 小时前
NestJS入门指南:Java开发者的Spring Boot体验
javascript·node.js
糖拌西瓜皮2 小时前
Express框架快速上手:中间件、路由与错误处理
javascript·node.js
禅思院4 小时前
前端部署“三层漏斗”完全指南:从CI/CD到自动回滚的工程化实战【开题】
前端·架构·前端框架
快乐肚皮5 小时前
深入理解Loop Engineering
前端·后端
半个落月5 小时前
从递归到快速排序:用 JavaScript 把分治思想讲明白
javascript·算法·面试
风骏时光牛马5 小时前
VHDL十大经典基础功能设计实例代码合集
前端
小兔崽子去哪了5 小时前
Vue3 + Pinia 集成 IGV.js 实现 BAM 文件在线浏览
javascript·vue.js·后端