cesium基础设置

cesium官网下载:https://cesium.com/downloads/
1.安装cesium
选择下载到本地使用,或者通过npm下载到项目中
在这里插入图片描述
2.代码书写
(1)创建容器

  <div id="cesiumContainer" style="width: 100%; height: 100%"></div>

(2)引入cesium

import * as Cesium from 'cesium'

(3)设置静态资源路径
静态资源是指在cesium中内置的一些可以使用的资源,静态资源路径可能会根据cesium的版本不同而有区别,查看静态资源路径
在这里插入图片描述

// 静态资源路径
;(window as any).CESIUM_BASE_URL = 'node_modules/cesium/Build/CesiumUnminified/'

也可以将该处的静态资源文件放到项目的根目录静态资源文件夹下,例如public文件夹下,这时静态资源路径就为“/”

3.使用Viewer容器渲染

onMounted(async () => {
  const viewer = new Cesium.Viewer('cesiumContainer', {
  })
})

4.申请token,以便调用cesium的api
登录cesium,获取Access Token,将其复制到项目中
在这里插入图片描述
控制台如果出现如下报错:
在这里插入图片描述
可以设置该配置:

 const viewer = new Cesium.Viewer('cesiumContainer', {
 		infoBox: false,
  })

默认效果图
在这里插入图片描述
5.查看器(viewer)部分相关配置项

  const viewer = new Cesium.Viewer('cesiumContainer', {
    // terrainProvider: Cesium.createWorldTerrain({
    //   requestWaterMask: true // 开启水面特效
    // }), // 创建地形
    // infoBox: false,
    // geocoder: true, //是否显示地名查找控件
    // sceneModePicker: true, //是否显示投影方式控件
    // navigationHelpButton: true, //是否显示帮助信息控件
    // baseLayerPicker: true, //是否显示图层选择控件
    // homeButton: true, //是否显示Home按钮
    // fullscreenButton: true, //是否显示全屏按钮
    // timeline: true, //时间轴控件
    // animation: true //动画控件
  })

6.相机相关配置

 // 相机
  // 将视野定位到特定地点
  // viewer.camera.setView({
  //   destination: Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400), //定位到位置
  //   // 视野角度
  //   orientation: {
  //     // 默认(0,-90,0)
  //     heading: Cesium.Math.toRadians(0.0),
  //     pitch: Cesium.Math.toRadians(-15.0),
  //     roll: Cesium.Math.toRadians(0)
  //   }
  // })

  // 定位到特殊地点(含飞行动画)
  // viewer.camera.flyTo({
  //   destination: Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400),
  //   duration: 3, //飞行时间
  //   orientation: {
  //     heading: Cesium.Math.toRadians(0.0),
  //     pitch: Cesium.Math.toRadians(-15.0)
  //   }
  // })
  
  // lookAt,锁住视野,无法拖动改变视野位置
  // const position = Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400)
  // viewer.camera.lookAt(
  //   position,
  //   new Cesium.HeadingPitchRange(Cesium.Math.toRadians(0.0), Cesium.Math.toRadians(-15.0), 2000)
  // )

7.坐标转换

// 经纬度转换为笛卡尔坐标系
  // let carctesian1 = Cesium.Cartesian3.fromDegrees(110, 20, 20)
  // // 笛卡尔转弧度坐标
  // let cartongraphic = Cesium.Cartographic.fromCartesian(carctesian1)
  // // 弧度坐标转角度坐标,高度不用单独转
  // let lon = Cesium.Math.toDegrees(cartongraphic.longitude)
  // let lat = Cesium.Math.toDegrees(cartongraphic.latitude)
  // 未知角度/已知弧度=360°/2*PI;未知角度=已知弧度*180/PI
  // 圆一周弧度为2*PI,角度为360°
  // let lon = (180 / Math.PI) * cartongraphic.longitude
  // let lat = (180 / Math.PI) * cartongraphic.latitude

  // Add Cesium OSM Buildings, a global 3D buildings layer.
  // const buildingTileset = await Cesium.createOsmBuildings()
  // viewer.scene.primitives.add(buildingTileset)

8.添加实体

// 实体 写法一
  // const point = new Cesium.Entity({
  //   position: Cesium.Cartesian3.fromDegrees(120, 30),
  //   point: {
  //     pixelSize: 20, // 像素点大小
  //     color: Cesium.Color.RED
  //   }
  // })
  // viewer.entities.add(point)

  // 写法二
  // const point2 = viewer.entities.add({
  //   id: 'point',
  //   position: Cesium.Cartesian3.fromDegrees(120, 30),
  //   point: {
  //     pixelSize: 20, // 像素点大小
  //     color: Cesium.Color.RED
  //   }
  // })
  // viewer.zoomTo(point2)

  // 标注,广告牌
  // const billboard = viewer.entities.add({
  //   position: Cesium.Cartesian3.fromDegrees(116, 40, 50),
  //   billboard: {
  //     image: '/src/assets/R-C.png',
  //     scale: 0.3,
  //     color: Cesium.Color.YELLOW
  //   }
  // })
  // viewer.zoomTo(billboard)

  // 标题
  // const label = viewer.entities.add({
  //   position: Cesium.Cartesian3.fromDegrees(116, 40, 50),
  //   label: {
  //     text: 'Cesium',
  //     fillColor: Cesium.Color.YELLOWGREEN,
  //     showBackground: true,
  //     backgroundColor: new Cesium.Color(255, 255, 255)
  //   }
  // })
  // viewer.zoomTo(label)
### Cesium 安装与配置教程 #### 使用 Vue CLI 创建项目并集成 Cesium 对于基于 Vue.js 的开发环境,特别是使用 `vue-cli` (版本 5+) 和 Cesium (版本 1.90+) 进行构建时,存在多种方法来设置和初始化应用。其中较为推荐的方式之一是在创建好Vue项目的前提下通过npm安装Cesium库[^1]。 ```bash npm install cesium --save ``` 接着,在项目中的适当位置定义组件逻辑: ```javascript // App.vue 文件内的脚本部分 <script setup lang="ts"> import { Viewer } from 'cesium'; import { onMounted } from 'vue'; onMounted(() => { const viewer = new Viewer('cesiumContainer'); }); </script> ``` 同时确保HTML模板中有对应的容器用于承载地图视图: ```html <template> <div id="cesiumContainer"></div> </template> ``` 样式方面也需要做相应调整以保证页面布局合理: ```css <style scoped> html, body { padding: 0; margin: 0; height: 100%; width: 100%; } #cesiumContainer { width: 100%; height: 100vh; background-color: black; } </style> ``` 以上操作完成后即可实现在Vue应用程序内加载三维地球模型的效果[^3]。 #### 手动下载并配置 Cesium 库 另一种常见的做法是从官方网站获取最新版的Cesium发行包,并将其放置于自建的工作目录之下。具体来说就是建立一个新的工作空间(比如命名为test),随后把解压缩得到的内容以及依赖描述文件(`package.json`)复制进去[^4]。 这种方法适合那些希望通过直接控制资源路径来进行部署的情况,同时也便于离线环境下运行程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大兵的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值