Globe

new Cesium.Globe(ellipsoid)

场景中渲染的地球,包括其地形(Globe#terrainProvider) 和影像图层(Globe#imageryLayers)。使用 Scene#globe 访问该地球。
Name Type Default Description
ellipsoid Ellipsoid Ellipsoid.default optional 确定地球的 大小和形状。

Members

atmosphereBrightnessShift : number

应用于大气的亮度偏移。默认为 0.0(无偏移)。 亮度偏移为 -1.0 时表示完全黑暗,此时太空将透显出来。
Default Value: 0.0

atmosphereHueShift : number

应用于大气的色相偏移。默认为 0.0(无偏移)。 色相偏移为 1.0 表示可用色相完成一次完整旋转。
Default Value: 0.0

atmosphereLightIntensity : number

用于计算地面大气颜色的光照强度。
Default Value: 10.0

atmosphereMieAnisotropy : number

米氏散射(Mie scattering)所考虑介质的各向异性。

有效值在 -1.0 到 1.0 之间。

Default Value: 0.9

atmosphereMieCoefficient : Cartesian3

用于地面大气散射方程的米氏散射系数。
Default Value: Cartesian3(21e-6, 21e-6, 21e-6)

atmosphereMieScaleHeight : number

用于地面大气散射方程的米氏散射标高(scale height),单位为米。
Default Value: 3200.0

atmosphereRayleighCoefficient : Cartesian3

用于地面大气散射方程的瑞利散射(Rayleigh scattering)系数。
Default Value: Cartesian3(5.5e-6, 13.0e-6, 28.4e-6)

atmosphereRayleighScaleHeight : number

用于地面大气散射方程的瑞利散射标高,单位为米。
Default Value: 10000.0

atmosphereSaturationShift : number

应用于大气的饱和度偏移。默认为 0.0(无偏移)。 饱和度偏移为 -1.0 时为单色。
Default Value: 0.0

backFaceCulling : boolean

是否剔除背向的地形。当相机位于地下或启用了半透明时,背面不会被剔除。
Default Value: true
获取或设置在没有可用影像时地球的颜色。

cartographicLimitRectangle : Rectangle

一个属性,指定一个 Rectangle,用于将地球渲染限制在某个制图区域内。 默认为制图坐标的最大范围。
Default Value: Rectangle.MAX_VALUE
一个属性,指定一个 ClippingPlaneCollection,用于选择性地禁用每个平面外侧的渲染。
一个属性,指定一个 ClippingPolygonCollection,用于选择性地禁用一组多边形内部或外部的渲染。

depthTestAgainstTerrain : boolean

如果广告牌、折线、标签等图元应针对地形表面进行深度测试,则为 true; 如果此类图元应始终绘制在地形之上(除非它们位于地球的另一侧),则为 false。对图元进行地形深度测试的 缺点是,轻微的数值噪声或地形细节层级切换有时会使本应在表面的图元消失在地形之下。
Default Value: false

dynamicAtmosphereLighting : boolean

在大气和雾上启用动态光照效果。这仅在 enableLightingtrue 时生效。
Default Value: true

dynamicAtmosphereLightingFromSun : boolean

动态大气光照是否使用太阳方向而非场景的光照方向。这仅在 enableLightingdynamicAtmosphereLightingtrue 时生效。
Default Value: false
获取描述此地球形状的椭球。

enableLighting : boolean

使用场景的光源为地球提供光照。
Default Value: false
用于高亮地形填充瓦片的颜色。如果为 undefined,则填充瓦片完全 不高亮。alpha 值用于与瓦片的实际颜色进行 alpha 混合。由于地形填充瓦片并不代表实际地形表面, 在某些应用中,以视觉方式表明它们不可信可能是有用的。
Default Value: undefined
获取将渲染在此地球上的影像图层集合。

readonly imageryLayersUpdatedEvent : Event

获取一个事件,当影像图层被添加、显示、隐藏、移动或移除时触发。

lambertDiffuseMultiplier : number

用于调整地形朗伯(Lambert)光照的乘数。 该数值会乘以 GlobeFS.glsl 中 czm_getLambertDiffuse 的结果。 这仅在 enableLightingtrue 时生效。
Default Value: 0.9

lightingFadeInDistance : number

光照恢复生效的距离。这仅在 enableLightingshowGroundAtmospheretrue 时生效。
Default Value: pi * ellipsoid.minimumRadius

lightingFadeOutDistance : number

所有物体都被照亮的距离。这仅在 enableLightingshowGroundAtmospheretrue 时生效。
Default Value: 1/2 * pi * ellipsoid.minimumRadius

loadingDescendantLimit : number

获取或设置被视为“过多”的正在加载的后代瓦片数量。 如果一个瓦片有过多正在加载的后代,则该瓦片会在其任何后代加载和渲染之前被加载并渲染。这意味着 用户会获得更多“正在发生某些事情”的反馈,代价是整体加载时间更长。将此值设为 0 会导致每个 瓦片层级被依次加载,显著增加加载时间。将其设为一个较大的数值(例如 1000)会尽量减少已加载瓦片的数量,但往往会使 细节在长时间等待后一次性全部出现。
Default Value: 20
获取或设置地球的外观材质。这可以是多个内置 Material 对象之一, 也可以是通过 Fabric 编写的自定义材质。

maximumScreenSpaceError : number

用于驱动细节层级细化的最大屏幕空间误差。较大的 值会提供更好的性能,但视觉质量较低。
Default Value: 2

nightFadeInDistance : number

地面大气的夜间黑暗淡入到未照亮地面大气的距离。 这仅在 showGroundAtmosphereenableLightingdynamicAtmosphereLightingtrue 时生效。
Default Value: 5/2 * pi * ellipsoid.minimumRadius

nightFadeOutDistance : number

地面大气的夜间黑暗淡出到已照亮地面大气的距离。 这仅在 showGroundAtmosphereenableLightingdynamicAtmosphereLightingtrue 时生效。
Default Value: 1/2 * pi * ellipsoid.minimumRadius

oceanNormalMapUrl : string

用于渲染海洋波浪的法线贴图。仅当配置的地形提供器包含水掩码(water mask)时, 设置此属性才会生效。
Default Value: buildModuleUrl('Assets/Textures/waterNormalsSmall.jpg')

preloadAncestors : boolean

获取或设置一个值,指示是否应预加载已渲染瓦片的祖先。 将其设为 true 可优化缩小(zoom-out)体验,并在平移时为新暴露的区域提供更多细节。 缺点是它需要加载更多瓦片。
Default Value: true

preloadSiblings : boolean

获取或设置一个值,指示是否应预加载已渲染瓦片的兄弟节点。 将其设为 true 会导致与已渲染瓦片具有相同父节点的瓦片被加载,即使它们被剔除了。 将其设为 true 可能会以加载更多瓦片为代价,提供更好的平移体验。
Default Value: false
确定地球是否投射或接收来自光源的阴影。将地球设为投射阴影可能会影响性能, 因为需要从光源的视角再次渲染地形。目前只有视野内的地形会投射阴影。默认情况下地球不投射阴影。
Default Value: ShadowMode.RECEIVE_ONLY
确定地球是否将被显示。
Default Value: true

showGroundAtmosphere : boolean

启用地面大气。当从 lightingFadeInDistancelightingFadeOutDistance 之间的距离观看时, 它会被绘制在地球之上。
Default Value: true when using the WGS84 ellipsoid, false otherwise

showSkirts : boolean

是否显示地形裙边(skirt)。地形裙边是从瓦片边缘向下延伸的几何体,用于隐藏相邻瓦片之间的接缝。 当相机位于地下或启用了半透明时,裙边始终被隐藏。
Default Value: true

showWaterEffect : boolean

如果应在地球被水覆盖的区域显示动画波浪效果,则为 true;否则为 false。 如果 terrainProvider 不提供水掩码,则此属性被忽略。
Default Value: true
为此地球提供表面几何的地形提供器。

readonly terrainProviderChanged : Event

获取一个事件,当地形提供器发生更改时触发。

tileCacheSize : number

地形瓦片缓存的大小,以瓦片数量表示。超出此数量的任何 瓦片都将被释放,只要它们在本帧渲染中不需要。较大的数值会消耗更多内存,但会更快速地显示细节, 例如在缩小后再放大时。
Default Value: 100

tileLoadProgressEvent : Event

获取一个事件,自上一渲染帧以来瓦片加载队列的长度发生变化时触发。当加载队列为空时, 当前视图的所有地形和影像都已加载完毕。该事件会传递瓦片加载队列的新长度。

readonly tilesLoaded : boolean

当瓦片加载队列为空时返回 true,否则返回 false。当加载队列为空时, 当前视图的所有地形和影像都已加载完毕。
用于控制地球半透明度的属性。
当相机位于地下或地球半透明时,用于渲染地球背面侧的颜色, 根据相机的距离与地球颜色混合。

要禁用地下着色,请将 undergroundColor 设为 undefined
Default Value: Color.BLACK
See:

undergroundColorAlphaByDistance : NearFarScalar

获取或设置将 Globe#undergroundColor 与地球颜色混合的近距和远距。 当相机距离落在指定的 NearFarScalar#nearNearFarScalar#far 的 上下界之间时,alpha 将在 NearFarScalar#nearValueNearFarScalar#farValue 之间插值。 在这些范围之外,alpha 保持钳制到最近的边界。如果为 undefined, 地下颜色将不会与地球颜色混合。

当相机位于椭球之上时,距离是从椭球上最近的点而非相机位置计算的。
See:

vertexShadowDarkness : number

确定顶点阴影的暗度。 这仅在 enableLightingtrue 时生效。
Default Value: 0.3

Methods

销毁此对象持有的 WebGL 资源。销毁对象可以实现确定性的 WebGL 资源释放,而不是依赖垃圾回收器来销毁该对象。

一旦对象被销毁,就不应再使用它;调用 isDestroyed 之外的任何函数都会导致 DeveloperError 异常。因此, 应像示例中那样将返回值(undefined)赋给该对象。
Throws:
Example:
globe = globe && globe.destroy();
See:

getHeight(cartographic)number|undefined

获取给定制图坐标处表面的高度。
Name Type Description
cartographic Cartographic 要查找高度的制图坐标。
Returns:
该制图坐标的高度;如果找不到则为 undefined。

isDestroyed()boolean

如果此对象已被销毁则返回 true,否则返回 false。

如果此对象已被销毁,就不应再使用它;调用 isDestroyed 之外的任何函数都会导致 DeveloperError 异常。
Returns:
如果此对象已被销毁则为 true,否则为 false。
See:

pick(ray, scene, result)Cartesian3|undefined

查找射线与已渲染地球表面之间的交点。射线必须以世界坐标给出。
Name Type Description
ray Ray 用于测试相交的射线。
scene Scene 场景。
result Cartesian3 optional 用于存储结果的物体。
Returns:
交点;如果未找到则为 undefined
Example:
// find intersection of ray through a pixel and the globe
const ray = viewer.camera.getPickRay(windowCoordinates);
const intersection = globe.pick(ray, scene);
需要帮助?获取答案的最快方式是在 Cesium 论坛 上向社区和团队提问。