前言
Mars3d一款基于 WebGL 技术实现的三维客户端开发平台,基于Cesium 优化提升与B/S架构设计,支持多行业扩展的轻量级高效能GIS开发平台,能够免安装、无插件地在浏览器中高效运行,并可快速接入与使用多种GIS数据和三维模型,呈现三维空间的可视化,完成平台在不同行业的灵活应用
一、参考API
飞行漫游API http://mars3d.cn/apidoc.html

二、创建一个漫游对象
1.创建矢量图层
代码如下:

const graphicLayer = new mars3d.layer.GraphicLayer()
  map.addLayer(graphicLayer)

2 .创建一个飞行漫游对象
 const flydata = {
    name: "步行路线",
    speed: 40, //轨迹的 速度( 单位:千米/小时)
    positions: [   //轨迹的 坐标数组
      [117.220356, 31.833959, 43.67],
      [117.220361, 31.835111, 44.36],
      [117.213242, 31.835863, 42.31],
      [117.211926, 31.835738, 42.14],
      [117.183103, 31.833906, 47.17],
      [117.183136, 31.833586, 47.39],
      [117.183968, 31.833637, 47.05],
      [117.184038, 31.833134, 47.39],
      [117.184364, 31.833142, 47.26],
      [117.184519, 31.833375, 47.04]
    ],
    //漫游模型
    model: {
      show: true,
      url: "//data.mars3d.cn/gltf/mars/man/walk.gltf",
      scale: 5,
      minimumPixelSize: 50
    },
   //视角模式设置
    camera: {
      type: "gs",
      radius: 300
    },
    clockRange: Cesium.ClockRange.CLAMPED, // CLAMPED到达终点后停止
    pauseTime: 0.5
  }
  const roamLine = new mars3d.graphic.RoamLine(flydata)
  graphicLayer.addGraphic(roamLine)

mars3d.graphic.RoamLine 是飞行漫游路线管理类,将漫游路线参数传给该类即可完成一个漫游路线。

3.开始漫游
开始漫游只需调用start()方法即可
即roamLine.start()

附:常用方法
暂停漫游 :roamLine.pause()
继续漫游:roamLine.proceed()
停止漫游:roamLine.stop()
开始漫游:roamLine.start()
相机视角更新setCameraOptions(cameraOptions) 参数是一个对象

在创建一个飞行漫游类后,想要修改漫游路线的属性可以直接通过赋值的方法实现。

Mars3d开发:飞行漫游相关推荐

  1. Mars3d开发——飞行漫游

    Mars3d开发--飞行漫游 合抱之木,生于毫末: 九层之台,起于累土: 千里之行,始于足下. 文章目录 Mars3d开发--飞行漫游 前言 一.参考API 二.创建一个漫游对象 1.创建矢量图层 2 ...

  2. Cesium 飞行漫游 贴地漫游

    案例地址请看我的博客置顶文章(http://106.52.101.22/EasyGIS/index.html),此处列出了三个案例分别为 飞行漫游 贴地漫游 以及漫游信息实时展示. ========= ...

  3. 零基础根据Mars3D开发教程发布三维数据

    首先搭建开发环境 步骤如下: 1.点击Mars3D开发教程,进入页面,查看页面展示,进入开发工具清单如图所示.   .Mars3D介绍 | Mars3D开发教程 2.点击"下载"进 ...

  4. 使用cesium使用飞行漫游功能以及原地平滑转向

    在cesium里面实现飞行漫游,由于没有找到合适的案例,自力更生,丰衣足食. 相机的移动主要两种方式: setView,flyTo 其中flyTo测试了,感觉不合适,所以用了setView,当然只是自 ...

  5. Mars3D开发基础学习:相机Camera及视角控制

    Camera相机控制了三维场景的视图.有很多方法可以操作Camera,如旋转(rotate).缩放(zoom).平移(pan)和飞到目的地(flyTo).同时也有鼠标和触摸事件用来处理与Camrea的 ...

  6. Java游戏开发——飞行射击类游戏

    使用到的素材文件夹: 素材说明:bg0.jpg是背景图片.bomb_enemy是敌机爆炸时按顺序播放的四帧图片,bullet_0.png是子弹图片,enemy_alive.png是敌机图片,playe ...

  7. 【飞翔的小鸟】使用C++框架开发飞行小鸟游戏

    使用非常简单的easyx框架进行开发游戏https://easyx.cn/ 游戏下载链接:https://download.csdn.net/download/xiaoxiao133/12526622 ...

  8. Mars3D开发基础学习:矢量数据

    矢量数据 是用经度.纬度.高度坐标来表示地图图形或地理实体位置的数据,一般是通过记录坐标的方式来尽可能将地理实体的空间位置表现的准确无误,常见的矢量数据有:点.线.面.体等格式. #1. 矢量数据对象 ...

  9. Unity3d游戏开发之漫游场景的制作

    Unity3d中场景漫游的制作. 1.       首先在3d软件中准备好模型,我找了个maya制作的房子. 注意:我这里用的是真实世界的比例,旁边测量工具测量的是1000cm,10米高. 2.  导 ...

最新文章

  1. linux wifi-tools,Linux下WiFi工具wireless_tools交叉编译,及其支持生成iwconfig使用的内核配置...
  2. TCMalloc(Thread-Caching malloc) 基本设计原理
  3. 分布式账本(Distributed ledger)
  4. python 关键字 及代码
  5. python基础05
  6. y7000怎么刷电池固件_redmi(红米)AC2100,刷老毛子固件
  7. KMP算法经典题目--实现 strStr()
  8. python3读取本地_Python3 获取本机 IP
  9. From UI design to system functions and application layer
  10. 常规投放vs. static_cast与dynamic_cast [重复]
  11. captap生成验证码
  12. 《圣经》放射光明,金钱散发温暖
  13. mysql入门 博客园_FreeSql (一)入门 – FreeSql – 博客园
  14. 手机qq/微信打开网址被阻拦屏蔽被封 微信/QQ拦截域名如何正常打开
  15. 安装VMware15虚拟机+Ubuntu19.10
  16. Kali Linux 安装搜狗拼音输入法
  17. Node的json解析
  18. 计算机黑屏跳横杠,电脑开机时黑屏左上角显示一个横杠是怎么回事
  19. Java能自学吗?如何自学?(附Java学习路线图)
  20. 伪造邮件钓鱼,要知道的秘密!

热门文章

  1. Launching unittests with arguments python -m unittest
  2. MySQL 主从同步延迟的原因及解决办法
  3. 建筑企业资质分立风险
  4. 合肥工业大学计算机培养计划,合肥工业大学
  5. 关于字段超长导致的插入错误的提示信息(value too long for type character varying)
  6. 小熊派-FreeRTOS-串口打印
  7. linux自动断开会话,Linux系统SSH连接自动断开问题的解决方法
  8. 目前结汇市场眼花缭乱,但那种才是适合做外贸的大佬们的一个选择呢?
  9. herf(超链接、锚链接)
  10. Python 在Windows上终止子过程(subprocess)