1-Cesium中文教程-快速开始

快速开始

 

这是一个基于Cesium,应用真实地理数据构建3D应用程序的快速开始上手的教程。你将学习到如何构建Cesium的web应用页面,像这样:

 

 

第一步:创建一个账户并获得一个token

Cesium ion 是一个开放的数据流平台,托管保持三维数据内容。注册一个免费的账户可以为你开发的应用程序提供全球卫星数据和真实三维数据。

官网首页sign up注册后登陆,进入 Access Tokens 

注意default token旁边的copy button 按钮,我们下一步将用到。

 

第二步:建立CesiumJS的客户端

CesiumJS 是一个开源的JavaScript 引擎。我们将用它来加载Cesium ion中提供的三维数据内容,进行可视化展示。

 

下面介绍设置CesiumJS的两种方法:

 

  1. Import from CDN

下面是一个完整的HTML页面,它将加载所需的JavaScript和CSS文件并初始化旧金山的场景。

由于您已注册了Cesium ion,此代码段要用到您的访问令牌(token)。

下面的代码在Cesium.Ion.defaultAccessToken处设置自己的令牌就能正取展示。

 

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="utf-8">

  <!-- Include the CesiumJS JavaScript and CSS files -->

  <script src="https://cesium.com/downloads/cesiumjs/releases/1.74/Build/Cesium/Cesium.js"></script>

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

</head>

<body>

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

  <script>

    // Your access token can be found at: https://cesium.com/ion/tokens.

    Cesium.Ion.defaultAccessToken = '设置自己的token';

    // Initialize the Cesium Viewer in the HTML element with the `cesiumContainer` ID.

    const viewer = new Cesium.Viewer('cesiumContainer', {

      terrainProvider: Cesium.createWorldTerrain()

    });   

    // Add Cesium OSM Buildings, a global 3D buildings layer.

    const buildingTileset = viewer.scene.primitives.add(Cesium.createOsmBuildings());  

    // Fly the camera to San Francisco at the given longitude, latitude, and height.

    viewer.camera.flyTo({

      destination : Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400),

      orientation : {

        heading : Cesium.Math.toRadians(0.0),

        pitch : Cesium.Math.toRadians(-15.0),

      }

    });

  </script>

 </div>

</body>

</html>

 

  1. Install with NPM

如果你要使用js框架(webpack等)来创建应用程序,在node中运行以下代码安装 CesiumJS :

npm install cesium

下面的代码加载所需的JavaScript和CSS文件。

由于您已注册了Cesium ion,此代码段要用到您的访问令牌(token)。

下面的代码在Cesium.Ion.defaultAccessToken处设置自己的令牌就能正取展示。

 

//服务器上存放CesiumJS静态文件的URL

// The URL on your server where CesiumJS's static files are hosted.

window.CESIUM_BASE_URL = '/';

 

import * as Cesium from 'cesium';

import "cesium/Build/Cesium/Widgets/widgets.css";

 

// Your access token can be found at: https://cesium.com/ion/tokens.

Cesium.Ion.defaultAccessToken = '设置自己的token';

// Initialize the Cesium Viewer in the HTML element with the "cesiumContainer" ID.

const viewer = new Cesium.Viewer('cesiumContainer', {

  terrainProvider: Cesium.createWorldTerrain()

});   

// Add Cesium OSM Buildings, a global 3D buildings layer.

const buildingTileset = viewer.scene.primitives.add(Cesium.createOsmBuildings());  

// Fly the camera to San Francisco at the given longitude, latitude, and height.

viewer.camera.flyTo({

  destination : Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400),

  orientation : {

    heading : Cesium.Math.toRadians(0.0),

    pitch : Cesium.Math.toRadians(-15.0),

  }

});

 

配置代码中的CESIUM_BASE_URL(即:服务器上存放CesiumJS静态文件的URL)

CesiumJS需要在服务器上托管一些静态文件,比如web  workers和SVG图标。将模块绑定器配置为复制以下四个目录并将它们作为静态文件使用:

  • node_modules/cesium/Build/Cesium/Workers
  • node_modules/cesium/Build/Cesium/ThirdParty
  • node_modules/cesium/Build/Cesium/Assets
  • node_modules/cesium/Build/Cesium/Widgets

window.CESIUM_BASE_URL这个全局变量必须在CESUMJS之前设置。它必须指向提供这四个目录的URL。

例如,如果 Assets/Images/cesium_credit.png)处的图像在(http://localhost:8080/static/Cesium/Assets/Images/cesium_credit.png)下使用了静态/Cesium/前缀,那么您将按如下方式设置基本URL:

window.CESIUM_BASE_URL = '/static/Cesium/';

 

查看完整的Webpack配置,请看 Cesium Webpack Example

https://github.com/CesiumGS/cesium-webpack-example#cesium-webpack-example

 

下一步

现在你已经可以构建一个Cesium应用程序了,有整个世界可以探索!下面将介绍查看使用这些教程可以构建的内容:

  1. 建立飞行跟踪器
  2. 建立三维建筑

github:https://github.com/jlsdlj/cesiumChina

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

swliujiao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值