麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - CesiumWidget 中文文档

本文介绍下Cesium中 CesiumWidget API的详细使用说明。

CesiumWidget API 调用方法

new Cesium.CesiumWidget(container, options)
一个包含Cesium场景(Scene)的窗口部件。
Name Type Description
container Element | String 将容纳Widget的HTML DOM 元素或ID。
options Object optional 对象,具有以下属性:
Name Type Default Description
clock Clock new Clock() optional 用来控制当前时间的时钟。
imageryProvider ImageryProvider createWorldImagery() optional imageryProvider作为基础图层。如果设置为false,则不添加imageryProvider。
terrainProvider TerrainProvider new EllipsoidTerrainProvider optional terrainProvider。
skyBox SkyBox optional 用于渲染星辰的天空盒,未定义时,使用默认星辰效果。如果设置为false,则不添加天空盒、太阳或月亮。
skyAtmosphere SkyAtmosphere optional 环绕地球边缘的蓝天和光晕效果,设置为false可将其关闭。
sceneMode SceneMode SceneMode.SCENE3D optional 初始场景模式。
scene3DOnly Boolean false optionaltrue时,为了节省GPU内存,每个几何实例只会在3D下被渲染。
orderIndependentTranslucency Boolean true optional 如果为true,且设备支持,则使用与顺序无关的半透明性。
mapProjection MapProjection new GeographicProjection() optional 在2D和哥伦布视图模式中使用的地图投影。
globe Globe new Globe(mapProjection.ellipsoid) optional 场景中使用的地球。如果设置为false,则不添加地球。
useDefaultRenderLoop Boolean true optional 如果此部件应该控制渲染循环,则为true,否则为false。
useBrowserRecommendedResolution Boolean false optional 如果为true,则按照浏览器推荐的分辨率渲染,忽略window.devicePixelRatio
targetFrameRate Number optional 使用默认渲染循环时的目标帧速率。
showRenderLoopErrors Boolean true optional 如果为true,如果出现渲染循环错误,此部件将自动向用户显示包含错误的HTML面板。
contextOptions Object optional Context 和 WebGL 的创建属性,与传递给Sceneoptions相一致。
creditContainer Element | String optional 将包含CreditDisplay的DOM元素或ID。如果没有指定,认证(credits)将添加到部件本身的底部。
creditViewport Element | String optional 包含由CreditDisplay创建的认证(credit)弹出窗口的DOM元素或ID。如果没有指定,它将出现在部件本身上。
terrainExaggeration Number 1.0 optional 用于设置地形夸张系数。请注意,地形夸张不会修改任何其他图元,因为它们的位置相对于椭球体。
shadows Boolean false optional 确定阴影是否由太阳投射形成。
terrainShadows ShadowMode ShadowMode.RECEIVE_ONLY optional 确定地形是否投射或接收来自太阳的阴影。
mapMode2D MapMode2D MapMode2D.INFINITE_SCROLL optional 确定2D地图是可旋转的,还是可以在水平方向上无限滚动。
requestRenderMode Boolean false optional 如果为true,渲染帧将只在需要时发生,由场景中的变化决定。启用可减少应用程序的CPU/GPU使用量, 并减少移动设备上的电池消耗,但需要使用Scene#requestRender在此模式下显式渲染新帧。在许多情况下,在API的其他部分对场景进行更改之后,这将是必要的。 请参考Improving Performance with Explicit Rendering
maximumRenderTimeChange Number 0.0 optional 如果requestRenderMode为true,则此值定义在渲染被请求之前允许的最大仿真时间更改。 请参考Improving Performance with Explicit Rendering
异常情况:
  • DeveloperError : 文档中不存在具有该标识的"container"元素。
示例:
// 对于每个示例,在HTML头部包含一个到CesiumWidget.css样式表的链接,在正文中包含:
// Widget没有地形和默认必应地图图像提供器(imageryProvider)。 var widget = new Cesium.CesiumWidget('cesiumContainer'); // 使用ico图像和Cesium世界地形的Widget。 var widget = new Cesium.CesiumWidget('cesiumContainer', { imageryProvider : Cesium.createWorldImagery(), terrainProvider : Cesium.createWorldTerrain(), // 使用高分辨率的星空,从 https://github.com/AnalyticalGraphicsInc/cesium-assets 下载 skyBox : new Cesium.SkyBox({ sources : { positiveX : 'stars/TychoSkymapII.t3_08192x04096_80_px.jpg', negativeX : 'stars/TychoSkymapII.t3_08192x04096_80_mx.jpg', positiveY : 'stars/TychoSkymapII.t3_08192x04096_80_py.jpg', negativeY : 'stars/TychoSkymapII.t3_08192x04096_80_my.jpg', positiveZ : 'stars/TychoSkymapII.t3_08192x04096_80_pz.jpg', negativeZ : 'stars/TychoSkymapII.t3_08192x04096_80_mz.jpg' } }), // 用网页墨卡托(Web Mercator)投影显示哥伦布视图(Columbus View)地图 sceneMode : Cesium.SceneMode.COLUMBUS_VIEW, mapProjection : new Cesium.WebMercatorProjection() });
演示Demo:

成员变量

获取相机(Camera)。
获取画布(Canvas)。
获取时钟(Clock)。
获取父容器。
creditContainer : Element
获取版权容器(CreditContainer)。
creditViewport : Element
获取版权视窗(CreditViewport)。
获取将在地球渲染的图像图层的集合。
resolutionScale : Number
获取或设置渲染分辨率的比例因子。 小于1.0的值可以在功能较弱的设备上提高性能,而大于1.0的值将以更高的分辨率渲染,然后缩小比例,从而提高视觉保真度。 例如,如果部件的大小为640x480,将该值设置为0.5将导致场景以320x240的大小呈现,然后按比例放大, 而将其设置为2.0将导致场景以1280x960的大小呈现,然后按比例缩小。
Default Value: 1.0
获取场景(Scene)。
获取屏幕空间事件处理程序(ScreenSpaceEventHandler)。
targetFrameRate : Number
获取或设置当useDefaultRenderLoop为true时,部件的目标帧率。 如果未定义,浏览器的requestAnimationFrame实现将确定帧速率。如果定义了,这个值必须大于0。 高于底层requestAnimationFrame实现的值将不起作用。
为地球提供表面几何图形的terrainProvider。
useBrowserRecommendedResolution : Boolean
指示是否使用浏览器的推荐分辨率的布尔值。 如果为true,则忽略浏览器的设备像素比,代之以1.0,有效地基于CSS像素而不是设备像素进行渲染。这可以提高具有高像素密度的低功能设备的性能。 当为false时,渲染将以设备像素为单位。无论这个布尔值是true还是false,Viewer#resolutionScale仍然有效。
Default Value: false
useDefaultRenderLoop : Boolean
获取或设置此部件是否应控制渲染循环。 如果设置为true,部件将使用requestAnimationFrame来执行部件的渲染和调整大小,以及驱动仿真时钟。 如果设置为false,您必须手动调用resizerender方法作为自定义渲染循环的一部分。 如果在渲染过程中出现错误,ScenerenderError事件将被触发,该属性将被设置为false。 必须将其设置为true,以便在发生错误后继续渲染。

内置方法

销毁部件。如果从布局中永久删除viewer部件,则应调用。
isDestroyed()Boolean
返回值:
如果对象已被销毁,则为true,否则为false。
渲染这个场景。除非useDefaultRenderLoop被设置为false,否则将根据需要自动调用此函数。
更新画布大小、相机长宽比和视口大小。 除非useDefaultRenderLoop被设置为false,否则将根据需要自动自动调用此函数。
showErrorPanel(title, message, error)
向用户显示包含标题和更长的错误消息的错误面板,可以使用OK按钮关闭该错误消息。 如果在构建部件时showrenderlooper不为false,则在出现渲染循环错误时自动显示该面板。
Name Type Description
title String 错误标题。这个字符串被解释为文本。
message String 在详细的错误信息之前显示一个有用的、面向用户的消息。这个字符串被解释为HTML。
error String optional 要显示在错误面板上的错误。此字符串使用formatError进行格式化,然后显示为文本。

其他API

Cesium中文API文档手册(v1.63.1版本)参考:《Cesium中文API文档手册(v1.63.1版本)

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)