在多次的心里暗示下,终于下定决心用电子方式来记录学习中遇到的一些问题、收获、记录、以及感悟。并没有特别深刻,只是希望同道中人可以填坑,同时为自我进步提供一个时间轴以及参考。
//创建cesium Viewer
viewer = new Cesium.Viewer('cesiumContainer',{
//是否创建动画小器件,左下角仪表
animation:false,
//是否显示图层选择器
baseLayerPicker:false,
//是否显示全屏按钮
fullscreenButton:false,
//是否显示geocoder小器件,右上角查询按钮
geocoder:false,
//是否显示Home按钮
homeButton:false,
//是否显示信息框
infoBox : false,
//禁用选择控件
selectionIndicator:false
//是否显示3D/2D选择器
sceneModePicker:false,
//是否显示选取指示器组件
selectionIndicator : false ,
//是否显示时间轴
timeline:false,
//是否显示右上角的帮助按钮
navigationHelpButton:false,
//如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
scene3DOnly : true,
navigationInstructionsInitiallyVisible:false,
showRenderLoopErrors:false,})
//启用深度测试,隐藏地形后边的东西
viewer.scene.globe.depthTestAgainstTerrain = true;
//基于太阳/月亮的照明
viewer.scene.globe.enableLighting = true;
//启用水面效果
requestWaterMask: true
//启用地形光照
requestVertexNormals: true
//隐藏地形变化
terrainProviderViewModels : [],
//加载自定义地图瓦片需要指定一个自定义图片服务器 例如指定OpenStreetMapImagerProvider
//URL 为瓦片数据服务器地址
imageryProvider : new Cesium.createTileMapServiceImageryProvider({
url :'//a.tile.openstreetmap.org/'
})
//Scene中有一个Performance类,如果开启,会update统计帧数和每一帧的时间,和Chrome的帧数统计对比了一下,还是比较准的。
Performance Display
是否支持水面效果
hasWaterMask
地形数据中是否包含法向量(光照是否支持)
hasVertexNormals
地形显示的精度,在上一篇中介绍的一个Tile占多少像素,其中这个参数作为调整系数
heightmapTerrainQuality
Provider的对外接口,参数为Tile对应的XYZ,返回其对应的TerrainData,基类中为空实现。
requestTileGeometry
buffer(高度值数组),宽高(width&height),tile的范围(rectangle)和中心点(center)等作为createVerticesFromHeightmap函数的参数
Heightmap
用于构建格网的高度图点串
Width&height
高度图的像素宽高
skirtHeight
俗称裙边,每一个Tile四周会围成一个栅栏,指定该栅栏的高度,保证和相邻的Tile拼接时没有间隙
nativeRectangle
该Tile的范围,如果是WGS坐标系,单位是度,如果是墨卡托,单位是米
exaggeration
地形高度的缩放系数,通常为1,现实真实的地形高度
rectangle
该Tile对应的地理范围,单位是弧度,rectangle和nativeRectangle至少要有一个,如果两个参数都有,则互相是匹配的
isGeographic
true则为WGS坐标,false为墨卡托
relativetoCenter
该Tile对应的中心点,单位是基于球心的笛卡尔坐标,单位为米
ellipsoid
椭球体类,提供一些计算和换算方法
structure
高度图数据结构
czml中的属性 设置镜头跟随路径经纬度
scaleByDistance
"orientation":{
"velocityReference":"path#position"},
"viewFrom"{"cartesian"[0,50,0]},
设置billboard在一定的距离下显示
distanceDisplayCondition()
constrainedAxis (控制在xyz轴的旋转)
//禁止实体的默认双击事件
viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);