mars3d开发——时序位置坐标

实现时序位置坐标

一、

1、现有数据如下

 const arrData = [
      {
        title: "中国安徽广播电视台",
        description: "安徽广播电视台(AHTV)是集广播、电视、报纸、</br>网络、新媒体等多种业务为一体的省级广播电视综合传</br>媒机构。",
        center: { lat: 31.817346, lng: 117.216403, alt: 342, heading: 168, pitch: -13, duration: 2 },
        position: [117.219971, 31.808482, 264.9],
        startTime: "2017/08/25 08:00:04",
        endTime: "2017/08/25 08:00:07",
      },
      {
        title: "合肥市政务中心",
        description: "合肥市人民政府政务服务中心为市委、市政府派出机构,</br>服务中心成立党工委和管委会,内设综合处、</br>督查处、审批项目协调处",
        center: { lat: 31.818069, lng: 117.221763, alt: 173, heading: 355, pitch: -5, duration: 3 },
        position: [117.222139, 31.822782, 166.6],
        startTime: "2017/08/25 08:00:09",
        endTime: "2017/08/25 08:00:12",
      },
      {
        title: "合肥市文化旅游局",
        description: "合肥市文化和旅游局和市文化和旅游局是市政府工作部门,</br>为正处级,加挂市广播电视新闻出版局牌子",
        center: { lat: 31.813929, lng: 117.217225, alt: 142, heading: 330, pitch: -14, duration: 3 },
        position: [117.215827, 31.818229, 84.6],
        startTime: "2017/08/25 08:00:14",
        endTime: "2017/08/25 08:00:17",
      },
      {
        title: "合肥大剧院",
        description: "合肥大剧院又名天鹅湖大剧院,主要由歌剧厅、</br>音乐厅、多功能厅等部分组成。",
        center: { lat: 31.815301, lng: 117.218273, alt: 107, heading: 11, pitch: -13, duration: 3 },
        position: [117.218782, 31.8176, 64.9],
        startTime: "2017/08/25 08:00:19",
        endTime: "2017/08/25 08:00:22",
      },
    ];

要想实现坐标位置按照时间顺序展示出,这个地方就需要控制展示的开始时间和结束时间,以及视角的切换

坐标位置显示部分主要代码

const property = new Cesium.SampledPositionProperty()
    const startTime = Cesium.JulianDate.fromDate(new Date(arrData[i].startTime))
    const endTime = Cesium.JulianDate.fromDate(new Date(arrData[i].endTime))

    property.addSample(startTime, Cesium.Cartesian3.fromDegrees(...arrData[i].position)) // 此刻显示
    property.addSample(endTime, Cesium.Cartesian3.fromDegrees(...arrData[i].position)) // 此刻不显示

视角控制主要代码
centerArr是视角center集合,通过调用 map.setCameraViewList()方法可以自动控制相机视角的切换。

 map.setCameraViewList(centerArr) // 视角
Mars3D 是一个基于WebGL的轻量级三维地图引擎,它支持Vue3框架,可以让开发者在Vue3环境下方便地集成和开发三维地球、三维场景等应用。使用Vue3开发Mars3D应用,可以通过以下步骤进行: 1. 环境准备:确保你的开发环境已经安装了Node.js和npm(或yarn)包管理工具,以及Vue CLI或Vite等前端开发工具。 2. 创建Vue3项目:使用Vue CLI或Vite创建一个新的Vue3项目。例如使用Vue CLI的命令为 `vue create my-mars3d-project`。 3. 安装Mars3D:通过npm或yarn将Mars3D库安装到你的项目中。例如使用npm的命令为 `npm install mars3d --save`。 4. 引入Mars3D:在你的Vue项目中,你可以通过npm包引入Mars3D。在main.js或main.ts文件中,你可以这样写: ```javascript import Mars3dVue from 'mars3d-vue' const app = createApp(App) app.use(Mars3dVue, { // 这里可以配置Mars3D的一些全局选项 }) app.mount('#app') ``` 5. 开始开发:现在你可以在Vue组件中使用Mars3D组件,并通过props传递配置,开始构建你的三维地图应用。例如: ```vue <template> <mars3d-map id="mars3dMap" :options="mapOptions"></mars3d-map> </template> <script> import { Mars3dMap } from 'mars3d-vue' export default { components: { Mars3dMap }, data() { return { mapOptions: { // 三维地图的配置项 } } } } </script> ``` 6. 运行和调试:使用Vue开发命令运行你的项目,例如 `npm run serve`,然后在浏览器中查看你的三维应用,并进行调试和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值