【001】-- [kotmax Cesium 1.98+]国内外最新源码下载地址、源码编译

本文详细介绍了CesiumJS的国内外下载地址,包括GitHub、官网、国内镜像和百度网盘。此外,还深入解析了Cesium源码的目录结构,如Apps、Source、Widgets等关键目录的功能,并提到了源码编译过程。同时,提供了Cesium 1.98版源码目录的详细说明,包括各个目录的作用,如DataSources、Renderer、Scene等。文章还提及了自动化单元测试、API文档和依赖管理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、CesiumJS 国内外下载地址:

国外(下载慢):https://github.com/CesiumGS/cesium

官网(下载慢):Downloads – Cesium

国内镜像(下载快):CesiumJS: Cesium 是通过 Web 浏览器创建 3D 地球和 2D 地图的 JavaScript 库,无需任何插件 (gitee.com)

百度网盘(2022-10-20以后CesiumJS 1.98+):https://pan.baidu.com/s/1yMo5eqTyLAakMj9N8Sd-lg 
提取码:kpty 
--来自百度网盘超级会员V6的分享

二、Cesium 源码目录结构及目录功能说明

2.1、源码目录

2.2、源码编译

安装npm以及相关依赖  npm i 

npm run release 编译源码:其中压缩版本文件在Cesium文件夹中,未压缩版在CesiumUnminified

2.3、Cesium1.98版源码目录为例说明

序号目录说明
1Apps

CesiumViewer目录:Cesium初始化示例

SampleData目录:所有示例代码数据,包括json、geoJson、topojson、kml、czml、gltf、3dtiles以及图片等。

Sandcastle目录:Ceisum的示例程序代码存储文件夹。

TimelineDemo目录:时间轴示例代码

2DocumentationAPI文档目录
3launchesEclipse外部工具环境构建配置,直接为服务器运行node
4Source

Source文件夹是Cesium整个项目工程的核心部分,包含所有类的源码和自定义shader(渲染)源码都存储在此,可以通过阅读源码研究每个类、属性、方法及事件的实现原理等,Source下每个目录对应的代码功能如下:

-------------------------------------------------------------------------------------------------------

Assets 目录:           纹理、图片等静态资源模块
Core 目录:              基础核心类、事件、颜色、矩阵、几何对象等
DataSources 目录: 数据源、数据对象、数据集合等
Renderer 目录:       渲染类、调度纹理、shader、缓冲区、顶点属性等
Scene 目录:            场景类、相机、模型加载器、地球、大气、相机、图层等
Shaders 目录:         静态Shader文件、shader模板
ThirdParty 目录:      第三方插件
Widgets 目录:          Cesium的UI控件、时间轴、信息框、地图选择器等
Workers 目录:          工作线程、主要用于几何体的创建 ,支持多线程开发渲染

5Specs自动化单元测试,Cesium采用Jasmine框架做单元测试 ,可以实现接口的自动化测试以及接口覆盖率等统计等
6ThirdPartyCesium中接口实现和单元测试所依赖的外部第三方库,比如代码编辑器codemirror、单元测试框架库jasmine、javascript语法和风格的检查工具jshint等
7Tools打包、代码检查、jsdoc工具等
8travis
9gulpfile.js记录了cesium的所有打包流程,包括GLSL语法的转义、压缩和未压缩库文件的打包、API文档的生成以及自动化单元测试等
10package.json用于包的依赖管理文件,包括包的名称、版本号、描述、官网url、作者、程序的主入口文件、开发环境和生产环境依赖包列表以及执行执行脚本等
11server.cjsCesium内置的Node服务器文件,命令npm run start以及npm run startPublic实际上执行的文件
12README.md入门手册,介绍了整个项目的使用、功能等
13CHANGES.mdCesium每个版本的变更记录以及每个版本修复了哪些功能
14index.html导航首页
15Build

源码编译结果目录

Cesium:打包之后的Cesium库文件(压缩)

CesiumUnminified:打包之后的Cesium库文件(未压缩),引用该文件可方便开发人员进行调试,找到程序异常或报错的具体代码位置

Documentation:打包之后的API 文档

11

### 在 Cesium 中使用 `vue-draggable-resizable-gorkys` 实现可拖拽和调整大小功能 为了在 Cesium 中实现组件的可拖拽和调整大小功能,可以借助 `vue-draggable-resizable-gorkys` 这一库来完成交互逻辑。以下是具体方法: #### 1. 安装依赖项 首先需要安装必要的 npm 包: ```bash npm install vue-draggable-resizable-gorkys cesium ``` #### 2. 集成 Cesium 到 Vue 项目 如果尚未集成 Cesium,则可以通过插件如 `vue-cli-plugin-cesium` 来简化配置过程[^2]。 创建一个基础的 Cesium Viewer 组件: ```javascript <template> <div id="cesiumContainer"></div> </template> <script> import * as Cesium from 'cesium'; export default { mounted() { const viewer = new Cesium.Viewer('cesiumContainer', { terrainProvider: Cesium.createWorldTerrain(), }); }, }; </script> <style scoped> #cesiumContainer { width: 100%; height: 100vh; } </style> ``` #### 3. 使用 `vue-draggable-resizable-gorkys` 引入并注册 `vue-draggable-resizable-gorkys` 组件到模板中,并将其放置于 Cesium 场景之上。通过设置样式使其覆盖部分场景区域。 示例代码如下: ```html <template> <div class="app-container"> <div id="cesiumContainer"></div> <vue-draggable-resizable :w="200" :h="150" @dragging="onDrag" @resizing="onResize"> <p>这是一个可拖动和调整大小的窗口。</p> </vue-draggable-resizable> </div> </template> <script> import { defineComponent } from 'vue'; import VueDraggableResizable from 'vue-draggable-resizable-gorkys'; import * as Cesium from 'cesium'; export default defineComponent({ components: { VueDraggableResizable, }, setup() { let draggableElementPositionX = 10; // 初始化位置 X 坐标 let draggableElementPositionY = 10; // 初始化位置 Y 坐标 let draggableElementWidth = 200; // 初始化宽度 let draggableElementHeight = 150; // 初始化高度 function onDrag(x, y) { draggableElementPositionX = x; draggableElementPositionY = y; } function onResize(width, height) { draggableElementWidth = width; draggableElementHeight = height; } return { onDrag, onResize, }; }, mounted() { this.viewer = new Cesium.Viewer('cesiumContainer'); }, }); </script> <style scoped> .app-container { position: relative; } #cesiumContainer { width: 100%; height: 100vh; } .vue-draggable-handle { z-index: 9999 !important; background-color: rgba(255, 255, 255, 0.8); border: 1px solid #ccc; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } </style> ``` 上述代码实现了以下功能: - 将 `vue-draggable-resizable-gorkys` 添加至页面上。 - 设置初始尺寸和位置参数。 - 当用户拖拽或调整大小时更新对应的位置与尺寸变量[^4]。 #### 4. 考虑性能优化 由于频繁操作 DOM 可能影响渲染效率,在实际应用中建议仅当必要时才显示此类控件;或者利用 WebGL 渲染技术替代传统 HTML 元素以减少开销。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值