文章目录

  • Getting Started (入门)
  • Your first app (您的第一个应用)
  • Breaking down the code (分解代码)
  • Adding Cesium World Terrain (添加 Cesium 世界地形)
  • Loading your own data (加载自己的数据)
  • What’s next? (下一步是什么?)

Getting Started (入门)

CesiumJS是一个用于Web上3D地图的JavaScript库。Cesium ion是您发现3D内容并整理自己的数据以进行流传输的中心。 CesiumJS和ion携手合作,使您能够构建世界一流的3D映射应用程序。

Your first app (您的第一个应用)

以下是您的第一个Cesium应用程序的源代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><script src="https://cesium.com/downloads/cesiumjs/releases/1.71/Build/Cesium/Cesium.js"></script><link href="https://cesium.com/downloads/cesiumjs/releases/1.71/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
</head>
<body><div id="cesiumContainer" style="width: 700px; height:400px"></div><script>Cesium.Ion.defaultAccessToken = 'your_access_token';var viewer = new Cesium.Viewer('cesiumContainer');</script>
</body>
</html>

提 示 : \color{orange}{提示:} 提示:
创建一个 Cesium ion 账户
请注意以上代码中的your_access_token占位符。 创建一个 Cesium ion 帐户以使用本教程中的3D内容。 在此处注册,以上示例代码将自动使用您的令牌进行更新。 如果您已经有一个帐户,请登录

您的 Cesium ion 帐户
由于您已登录Cesium ion,因此以上代码中正在使用您的默认访问令牌。

Web应用程序需要Web服务器,而CesiumJS也不例外。 为简单起见,本教程跳过了本地服务器设置,并使用了Glitch(用于Web开发的在线IDE)。 单击此处创建一个新的Glitch项目。 加载Glitch之后,忽略模板说明,而是单击index.html,删除全部内容,并将其替换为上面的代码。

单击显示/实时按钮,它将在您的Cesium应用程序运行时打开一个新窗口。 修改代码后,该视图将自动更新。


Breaking down the code (分解代码)

在HTML头部分中包含CesiumJS库。

<script src="https://cesium.com/downloads/cesiumjs/releases/1.71/Build/Cesium/Cesium.js"></script>
<link href="https://cesium.com/downloads/cesiumjs/releases/1.71/Build/Cesium/Widgets/widgets.css" rel="stylesheet">

创建一个HTML元素来保存 CesiumJS 部件:

<div id="cesiumContainer"></div>

提供您的 Cesium ion 帐户的访问令牌,以访问Bing图像。 由于您已经登录Cesium ion,因此本教程将自动使用您帐户的默认访问令牌:

Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI2Nzk1ZWY5My1hNWFhLTRjYzUtYjA4ZS0wN2FmM2IzMWZhNzMiLCJpZCI6MzE1MDAsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1OTU1MTI0ODN9._8DXJU8GwUNK0cxhejvCLL1dhPVF_MZoXVcROMJj4gM';

最后,创建名为Viewer的顶级 Cesium 部件,并告诉它使用您在上面定义的HTML元素:

var viewer = new Cesium.Viewer('cesiumContainer');

Adding Cesium World Terrain (添加 Cesium 世界地形)

Cesium World Terrain是 Cesium ion 帐户附带的高分辨率全球地形资产。 通过将创建Viewer 部件的行替换为以下内容,将其添加到您的Cesium应用中:

var viewer = new Cesium.Viewer('cesiumContainer', {terrainProvider: Cesium.createWorldTerrain()
});

现在,当您缩放到特定位置(例如“kunming,china”)时,您会看到Cesium World Terrain的运行情况:

Loading your own data (加载自己的数据)

您可以将自己的数据上传到 Cesium ion,然后将其平铺到3D Tiles中,这是一种用于流式传输大量异构3D地理空间数据集的开放规范。 在本教程中,我们提供了一个带有单个建筑物的示例KML / COLLADA程序包。 使用它来创建3D Tiles贴图集并将其添加到应用程序。 单击此处下载。

导航至ion并将您刚刚下载的文件AGI_HQ.kmz拖放到页面上的任何位置。 选择“ KML / COLLADA”(作为3D Tiles)作为数据类型:


最后,点击上传。

上传完成后,ion将开始平铺过程并在右上角报告进度。 平铺完成后,在左侧选择了新资产的情况下,按页面右下方示例代码旁边的copy按钮。 将结果粘贴到创建查看器的行之后的Glitch中。

var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url: Cesium.IonResource.fromAssetId(your_asset_id)})
);

使用另一行代码将应用程序的默认视图设置为图块:

viewer.zoomTo(tileset);


恭喜你! 您已经创建了第一个Cesium应用程序!
这是完整的示例供参考:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><script src="https://cesium.com/downloads/cesiumjs/releases/1.71/Build/Cesium/Cesium.js"></script><link href="https://cesium.com/downloads/cesiumjs/releases/1.71/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
</head>
<body><div id="cesiumContainer" style="width: 700px; height:400px"></div><script>Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI2Nzk1ZWY5My1hNWFhLTRjYzUtYjA4ZS0wN2FmM2IzMWZhNzMiLCJpZCI6MzE1MDAsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1OTU1MTI0ODN9._8DXJU8GwUNK0cxhejvCLL1dhPVF_MZoXVcROMJj4gM';var viewer = new Cesium.Viewer('cesiumContainer', {terrainProvider: Cesium.createWorldTerrain()});var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url: Cesium.IonResource.fromAssetId(your_asset_id)}));viewer.zoomTo(tileset);</script>
</body>
</html>

What’s next? (下一步是什么?)

现在您已经知道如何设置基本的Cesium应用程序,接下来可以浏览Sandcastle上的代码示例以探索所有功能和一些常见用例。

Getting Started (入门)相关推荐

  1. 用Construct 2制作入门小游戏~

    今天在软导课上了解到了Construct 2这个神器,本零基础菜鸟决定尝试做一个简单的小游戏(实际上是入门的教程啊= = 首先呢,肯定是到官网下载软件啊,点击我下载~ 等安装完毕后我便按照新手教程开始 ...

  2. Docker入门六部曲——Swarm

    原文链接:http://www.dubby.cn/detail.html?id=8738 准备工作 安装Docker(版本最低1.13). 安装好Docker Compose,上一篇文章介绍过的. 安 ...

  3. Docker入门六部曲——Stack

    原文链接:http://www.dubby.cn/detail.html?id=8739 准备知识 安装Docker(版本最低1.13). 阅读完Docker入门六部曲--Swarm,并且完成其中介绍 ...

  4. Docker入门六部曲——服务

    原文链接:http://www.dubby.cn/detail.html?id=8735 准备 已经安装好Docker 1.13或者以上的版本. 安装好Docker Compose.如果你是用的是Do ...

  5. 【springboot】入门

    简介: springBoot是spring团队为了整合spring全家桶中的系列框架做研究出来的一个轻量级框架.随着spring4.0推出而推出,springBoot可以説是J2SEE的一站式解决方案 ...

  6. SpringBoot (一) :入门篇 Hello World

    什么是SpringBoot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不 ...

  7. 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题

    入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...

  8. 5 分钟入门 Google 最强NLP模型:BERT

    BERT (Bidirectional Encoder Representations from Transformers) 10月11日,Google AI Language 发布了论文 BERT: ...

  9. 命名实体识别入门教程(必看)

    关于开发自己的命名实体识别先期思路: 虽然网上有很多相关代码,但实际如何入门材料较少,故整理下: CRF:先期可以用人民日报语料库去做,步骤如下: https://blog.csdn.net/hude ...

  10. Shiro第一个程序:官方快速入门程序Qucickstart详解教程

    目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...

最新文章

  1. 在Centos下安装Typora
  2. [leetcode]541.反转字符串||
  3. 【莫比乌斯反演】10.30破译密码
  4. Java Thread 总结
  5. 关于ng-class中添加多个样式类的解决方案
  6. pid调节软件_(四)差分底盘设计——5.底盘PID控制参数整定
  7. Supper (Java)
  8. HTML+CSS+Javascript教学视频【0409更新】
  9. 计算机组成原理第七章测试题,计算机组成原理 课堂练习-第七章
  10. 读写分离设计:复制延迟?其实是你用错了
  11. android MVC和MVP探讨
  12. Docker从理论到实践(五)------Dokcer容器
  13. 为什么Dell官方声卡驱动安装不上的原因分析与解决?
  14. IDEA代码和页面前进后退快捷键
  15. Docker入门-常用指令总结与归纳
  16. lisp 阿基米德螺旋_用CAD如何画阿基米德螺旋线
  17. java吃货联盟app讲解_java吃货联盟订餐系统
  18. 发布java包运行提示找不到配置文件
  19. 驰网独家英特尔i913900K处理器性能参数一览!Steam游戏专用i913900k服务器!!
  20. 专题分纲目录 形式逻辑

热门文章

  1. 10大游戏显存占用率测试
  2. mediaplayer网络播放错误
  3. asp.net图书馆借阅管理系统
  4. javawebJAVAJSP客户关系管理系统jsp会员信息管理系统jsp客户管理系统jsp客户登记系统
  5. 用计算机按出童话,算盘与计算器
  6. 微信公众号页面跳转APP或小程序遇到的问题
  7. Xshell6 中文不限时版下载(免密匙)
  8. 删除Windows.old提示需要TrustInstaller权限
  9. 一个悲伤的故事~RR-OS的刷机感受
  10. 苏亚星显示没有登录的服务器,苏亚星电子教室