cesium从入门到进阶(一)
目录
ArcGisMapServerImageryProvider
TileCoordinatesImageryProvider
WebMapTileServiceImageryProvider
ArcGISTiledElevationTerrainProvider
CustomHeightmapTerrainProvider
在 Cesium
中有几个比较核心的类,也是开发过程中比较常用的:
-
Viewer
: Cesium 的核心类,对应着 Cesium 展示三维要素内容的主窗口 -
Scene
: 是在 Viewer 或 CesiumWidget 内部隐式创建的 -
Camera
:Camera
主要用来描述和操作场景的视角
视图 Viewer
Viewer
是 Cesium
的核心类,对应着 Cesium
展示三维要素内容的主窗口。
主要详解可参考:
https://blog.youkuaiyun.com/happy81997/article/details/103527477
它不仅仅是包含三维地球的视窗,还包含一些基础控件,所以在定义 Viewer
对象的同时需要设定基础部件
、图层
等的初始化状态。
Cesium
开发的大部分工作在 Scene
场景中执行,包括调用图层
、3D Tiles
数据加载、场景交互
等。
另外 Cesium
提供了 Entity
、DataSource
等封装好的数据加载方式,降低了三维开发难度。
Viewer
对象主要包括如下属性:
-
camera
:相机属性,主要用于控制视角; -
widgets
(非属性):widgets
并非Viewer
对象的属性,在这里特指所有控件:-
animation
:动画控件; -
baseLayerPicker
:影像图层选择器; -
fullscreenButton
:全屏按钮; -
geocoder
:查找位置; -
homeButton
:返回视角到初始位置; -
navigationHelpButton
:帮助按钮; -
timeline
:时间轴; -
vrButton
:VR 按钮。
-
-
imageryLayers
:影像图层集合; -
terrainProvider
:地形提供者; -
entities
:实体集合; -
dataSources
:矢量数据集合; -
Event
(非属性):Event
并非Viewer
对象的属性,在这里特指所有事件:-
screenSpaceEventHandler
:屏幕操作事件; -
selectedEntityChanged
:选取实体事件; -
trackedEntityChanged
:追踪实体事件。
-
-
scene
:场景,scene
是Viewer
对象的属性,但它也是 Cesium 中的一个关键的对象,用于添加图形(primitive
)、添加场景特效和添加场景事件
场景 Scene
Scene
是构建场景
的类, 是 Cesium
中非常重要的类。Cesium
开发大多基于 Scene
类,其主要包含四部分内容:
-
基础地理环境设置,如
地球
参数(globe)、光照
(light)、雾
(fog)、大气
(skyAtmosphere) -
基础图层设置,包含
地图图层
、地形图层
等 -
场景数据,
Cesium
底层空间数据绘制方式是依赖Primitive
。Primitive API 功能强大而且非常灵活.为程序员绘制高级图形提供很大自由度、开发者可根据图形学原理自定义高级图形。技术难度较大,对于初学者较为困难,相比较面言Entity
封装程度高,构造简单,使用便捷,目前不支持自定义。3D Tiles
是 Primitive 的非常重要部分,可以实现大数据量加载 -
场景交互函数,如
pick
(鼠标事件)、camera
(相机事件)
相机 Camera
Cesium
通过相机来控制场景中的视域
、旋转
、缩放
、平移
等操作都可控制相机移动,使用相机Camera
操作场景分为如下几类:
-
飞行 fly:
flyHome
、flyTo
和flyToBoundingSphere
,与 fly 有关的方法的特点就是在改变相机视角时会伴随飞行动画;这类方法一定会改变相机的位置,但是不一定会改变相机的朝向; -
缩放 zoom:
zoomIn
和zoomOut
,与 zoom 有关的方法类似于使用鼠标滚轮来操作场景进行缩小或放大;这类方法不会改变相机的朝向,只会改变相机的位置; -
移动 move :
moveBackward
、moveDown
、moveForward
、moveLeft
、moveRight
和moveUp
,与 move 有关的方法就是在前后左右上下这六个方向上移动相机,这类方法不会改变相机的朝向,只会改变相机的位置; -
视角 look :
lookDown
、lookLeft
、lookRight
和lookUp
,与 look 有关的方法就是在相机位置不变的情况下,调整相机镜头的上下左右四个方向朝向,这类方法不会改变相机的位置,只会改变相机的朝向; -
扭转 twist :
twistLeft
和twistRight
,与 twist 有关的方法就是在相机位置不变的情况下,调整相机视角向左(逆时针)或向右(顺时针)扭转,这类方法不会改变相机的位置,只会改变相机的朝向; -
旋转 rotate :
rotateDown
、rotateLeft
、rotateRight
和rotateUp
,与 rotate 有关的方法会根据提供的角度参数旋转相机视角,这类方法会改变相机的位置,也会改变相机的朝向; -
其他操作相机的方法:
-
setView
直接将相机视角定位到某个位置; -
lookAt
直接将相机视角定位到某个位置,但是会锁定相机视角。
-
viewer Scene Camera 常用配置
下面给大家总结一些 viewer
Scene
Camera
常用的一些配置</