不同业务场景下通过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. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 08:06:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 08:06:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 08:06:02       57 阅读
  4. Python语言-面向对象

    2024-07-19 08:06:02       68 阅读

热门阅读

  1. 【Oracle】Oracle中的LISTAGG函数

    2024-07-19 08:06:02       18 阅读
  2. new和malloc

    2024-07-19 08:06:02       21 阅读
  3. Redis 地理位置 GEO 模块

    2024-07-19 08:06:02       21 阅读
  4. 一文理解ThreadPoolExecutor线程池以及运行时间

    2024-07-19 08:06:02       20 阅读
  5. AccessibilityEvent常用事件

    2024-07-19 08:06:02       19 阅读
  6. vue3封装el-table及实现表头自定义筛选

    2024-07-19 08:06:02       19 阅读
  7. jEasyUI 显示海量数据

    2024-07-19 08:06:02       19 阅读
  8. 团队高效地使用 Git 进行协同开发

    2024-07-19 08:06:02       20 阅读
  9. ArrayList

    2024-07-19 08:06:02       21 阅读