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

相关推荐
一tiao咸鱼6 小时前
前端转 agent # 02 - FastAPI 框架入门与原理
前端·python
wanghowie6 小时前
LangGraph4j 落地(二)— ReAct 多步工具与 trace 扩展
前端·react.js·前端框架
喜欢打篮球的普通人6 小时前
Trition程序编写:从“Hello CUDA“到“Hello Triton“:向量加法背后的编译黑魔法
开发语言·后端·rust
code_std6 小时前
java WebSocket 使用
java·开发语言·websocket
gihigo19987 小时前
FastSLAM2.0(精度优于1.0)MATLAB 实现
开发语言·matlab
Yolo566Q7 小时前
Noah-MP陆面过程模型建模方法与站点、区域模拟实践技术应用
开发语言·python
落叶-IT7 小时前
Java Scanner 类精讲:控制台交互
java·开发语言
大家的林语冰7 小时前
Rust 再次打败 Go,Astro 7 首发,什么叫“万物皆可锈化“!
前端·javascript·性能优化
lichenyang4537 小时前
H5 如何调用 ArkTS:JavaScriptProxy、requestId 和 Promise 回调
前端
lichenyang4537 小时前
我在 HarmonyOS 上写了一个轻量级小程序运行时:从 Web 容器到 JSBridge
前端