不同业务场景下通过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三维可视化平台 | 火星科技

相关推荐
我狸才不是赔钱货1 天前
Python的“环境之殇”:从Venv到Conda的终极抉择
开发语言·python·conda
努力进修1 天前
Rust 语言入门基础教程:从环境搭建到 Cargo 工具链
开发语言·后端·rust
namekong81 天前
清理谷歌浏览器垃圾文件 Chrome “User Data”
前端·chrome
杯莫停丶1 天前
设计模式之:模板模式
开发语言·设计模式
开发者小天1 天前
调整为 dart-sass 支持的语法,将深度选择器/deep/调整为::v-deep
开发语言·前端·javascript·vue.js·uni-app·sass·1024程序员节
老猿讲编程1 天前
C++中的奇异递归模板模式CRTP
开发语言·c++
李少兄1 天前
HTML 表单控件
前端·microsoft·html
汤姆yu1 天前
基于python的化妆品销售分析系统
开发语言·python·化妆品销售分析
ScilogyHunter1 天前
C语言标准库完全指南
c语言·开发语言
sali-tec1 天前
C# 基于halcon的视觉工作流-章52-生成标定板
开发语言·图像处理·人工智能·算法·计算机视觉