Cesium快速入门1:打造第一个Cesium应用

CesiumJS 是一个主要用于三维地球和地图可视化的 JavaScript 库。它可以支持海量的三维模型数据,也就是说,我们可以根据自己的需要,选择展示地球的某一部分内容,并以三维的方式更直观、更快速地进行展示。

Cesium 可以跨平台、跨浏览器运行,而且无需安装任何插件,使用起来非常方便。

它的核心优势在于强大的地理数据可视化能力,因此与数字孪生技术密切相关。同时,Cesium 还提供了丰富的工具,帮助我们快速实现地理数据的可视化展示。

此外,Cesium 还可以与 Three.js 结合使用。例如,当我们需要展示一个三维地球时,可以用 Cesium 来进行渲染;而当我们需要更精细、更逼真的三维模型和细节时,可以结合 Three.js 来实现。

所以,接下来我们就来看一下 Cesium 是如何使用的,这也是我们本节课的重点内容。

首先,我们需要下载 CesiumJS。登录官网后,我们可以通过 NPM 安装,也可以直接下载官方提供的安装包。这里我已经提前下载好了。

下载完成后,Cesium 的压缩包大概就是这么大。我们可以在本地新建一个文件夹,把压缩包放进去并解压。当前版本是 1.93。

解压后,我们进入目录,使用 Yarn 安装依赖,也就是安装 Node Modules 中的相关依赖包。安装完成后,我们可以执行 yarn start 命令,启动 Cesium 自带的本地服务器。

启动后,我们就可以在本地访问官方文档和案例了。比如,本地会自动启动 Documentation 文档页面。这样,即使网络不好或无法翻墙,我们也可以离线查阅文档。

更重要的是,Cesium 提供了丰富的案例,尤其是 Sandcastle(沙盒)工具。在沙盒中,我们可以直接查看代码和效果,通过代码与可视化内容的结合,快速学习和理解如何实现三维地球的展示。

接下来,我们就用 Vue3 来创建一个最简单的项目,运行我们的第一个 Cesium 示例。

首先,我们使用 Vue CLI 创建一个 Vue3 项目,命令是:

vue create cesium-base

项目创建完成后,我们进入项目目录,安装 Cesium:

yarn add cesium

安装完成后,我们就可以开始编写代码了。

打开 App.vue 文件,把默认内容清空。我们需要创建一个用于显示三维地球的容器,给它设置一个 ID,比如叫 cesiumContainer

在 Vue3 中,我们可以使用 setup 语法糖来编写逻辑。我们可以通过 ref 获取这个容器的 DOM 对象,也可以直接使用 ID 获取。

接下来,我们需要导入 Cesium 库和它自带的 CSS 样式文件。Cesium 的样式文件位于 node_modules/cesium/Build/Cesium/Widgets/widgets.css,我们需要把它引入项目。

此外,Cesium 还需要一些静态资源文件,比如图片、字体等,这些资源位于 node_modules/cesium/Build/Cesium/ 目录下的四个文件夹中。

我们需要把这四个文件夹复制到项目的 public 目录下,否则运行时会出现资源缺失的问题。

复制完成后,我们还需要设置一个全局变量,告诉 Cesium 静态资源的路径:

复制代码
window.CESIUM_BASE_URL = '/';

这是一个固定的写法,必须是大写的 CESIUM_BASE_URL,路径设置为根目录。

然后,我们在 onMounted 生命周期钩子中初始化 Cesium,确保 DOM 已经挂载完成:

复制代码
new Cesium.Viewer('cesiumContainer');

这样,我们就完成了最基本的 Cesium 地球初始化。

完整代码如下:

复制代码
<template>
  <div id="cesiumContainer" ref="cesiumContainer"></div>
</template>

<script setup>
import * as Cesium from 'cesium';
import { onMounted } from 'vue';
import './Widgets/widgets.css';
window.CESIUM_BASE_URL = '/';
onMounted(() => {
  Cesium.Ion.defaultAccessToken = 'your token';
  new Cesium.Viewer('cesiumContainer');
});
</script>

<style>
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
#cesiumContainer {
  width: 100%;
  height: 100vh;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
</style>

最后,我们启动项目:

yarn dev

浏览器中就会显示出我们的第一个三维地球了。

那么,这一节课我们就先上到这里。

相关推荐
AndrewHZ1 天前
【GIS数据处理】什么是Cesium?从零入门Web端三维地理可视化工具
javascript·gis·web开发·cesium·gis前端·三维地理可视化
tangdou3690986551 天前
AI真好玩系列-WebGL爱心粒子手势互动教程 | Interactive Heart Particles with Hand Gestures
前端·人工智能·webgl
GIS遥遥3 天前
2025Cesium进阶教程(5)| webgis智慧城市开发,大屏可视化行政区高亮
javascript·cesium·gis开发·三维gis·webgis开发
map_3d_vis4 天前
JSAPIThree 加载 Cesium 数据学习笔记:使用 Cesium 地形和影像服务
学习笔记·cesium·地形·初学者·terrain·mapvthree·jsapithree·cesiumterraintileprovider
小猪努力学前端5 天前
基于PixiJS的小游戏广告开发
前端·webgl·游戏开发
LiuMingXin5 天前
CESIUM JS 学习笔记 (持续更新)
前端·cesium
GIS好难学5 天前
Cesium进阶教程:Shader与三维GIS可视化实战
cesium·gis开发·webgis
一个有理想的摸鱼选手6 天前
CesiumLite-一行代码让你在Cesium中实现标绘测量
前端·gis·cesium
光影少年6 天前
WebGIS 和GIS学习路线图
学习·前端框架·webgl