CesiumWidget

new Cesium.CesiumWidget(container, options)

包含 Cesium 场景的小部件。
Name Type Description
container Element | string 包含小部件的 DOM 元素或 ID。
options object optional 包含以下属性的对象:
Name Type Default Description
clock Clock new Clock() optional 用于控制当前时间的时钟。
shouldAnimate boolean false optional true 如果时钟应尝试默认情况下推进模拟时间,false 否则。
ellipsoid Ellipsoid Ellipsoid.default optional 默认的椭球体。
baseLayer ImageryLayer | false ImageryLayer.fromWorldImagery() optional 应用于地球的最底层影像层。如果设置为 false,则不会添加任何影像提供者。
terrainProvider TerrainProvider new EllipsoidTerrainProvider(options.ellipsoid) optional 地形提供者。
terrain Terrain optional 处理异步地形提供者的地形对象。只有在 options.terrainProvider 未定义时才能指定。
skyBox SkyBox | false optional 用于渲染星星的天空盒。当 undefined 并且使用 WGS84 椭球体时,将使用默认星星。如果设置为 false,则不会添加任何天空盒、太阳或月亮。
skyAtmosphere SkyAtmosphere | false optional 藏蓝天空和地球边缘的光晕。当使用默认椭球体时启用。设置为 false 以关闭它。
sceneMode SceneMode SceneMode.SCENE3D optional 初始场景模式。
scene3DOnly boolean false optionaltrue 时,每个几何实例仅在 3D 中渲染以节省 GPU 内存。
orderIndependentTranslucency boolean true optional 如果为 true,并且配置支持它,则使用无序独立半透明。
mapProjection MapProjection new GeographicProjection(options.ellipsoid) optional 用于 2D 和哥伦布视图模式的地图投影。
globe Globe | false new Globe(options.ellipsoid) optional 用于场景的地球。如果设置为 false,则不会添加地球,天空大气将默认隐藏。
useDefaultRenderLoop boolean true optional 如果该小部件应控制渲染循环,则为 true,否则为 false。
useBrowserRecommendedResolution boolean true optional 如果为 true,则以浏览器推荐的分辨率渲染,忽略 window.devicePixelRatio
targetFrameRate number optional 使用默认渲染循环时的目标帧率。
showRenderLoopErrors boolean true optional 如果为 true,当发生渲染循环错误时,该小部件将自动向用户显示一个 HTML 面板,包含错误信息。
automaticallyTrackDataSourceClocks boolean true optional 如果为 true,该小部件将自动跟踪新添加数据源的时钟设置,并在数据源的时钟变化时更新。如果想独立配置时钟,请将其设置为 false。
contextOptions ContextOptions optional 传递给 Scene 的上下文和 WebGL 创建属性。
creditContainer Element | string optional 将包含 CreditDisplay 的 DOM 元素或 ID。如果未指定,信用信息将添加到小部件底部。
creditViewport Element | string optional 将包含 CreditDisplay 创建的信用弹出窗口的 DOM 元素或 ID。如果未指定,它将出现在小部件本身上。
dataSources DataSourceCollection new DataSourceCollection() optional 由小部件可视化的数据源集合。如果提供此参数,则实例被认为由调用者拥有,当小部件被销毁时将不会被销毁。
shadows boolean false optional 确定光源是否投射阴影。
terrainShadows ShadowMode ShadowMode.RECEIVE_ONLY optional 确定地形是否投射或接收光源的阴影。
mapMode2D MapMode2D MapMode2D.INFINITE_SCROLL optional 确定 2D 地图是否可旋转或在水平方向上可以无限滚动。
blurActiveElementOnCanvasFocus boolean true optional 如果为 true,当小部件的画布被点击时,活动元素将失去焦点。将其设置为 false 在只需点击画布以获取位置或实体数据而不实际意味着将画布设置为活动元素的情况下很有用。
requestRenderMode boolean false optional 如果为 true,将仅在场景内的变化确定时才渲染一帧。启用将改善应用程序的性能,但要求在此模式下使用 Scene#requestRender 显示地渲染新帧。这在许多情况下是必要的,例如在 API 的其他部分对场景进行更改后。请参阅 通过显式渲染改善性能
maximumRenderTimeChange number 0.0 optional 如果 requestRenderMode 为 true,则此值定义要求渲染时允许的最大模拟时间变化。请参阅 通过显式渲染改善性能
msaaSamples number 4 optional 如果提供,此值控制多重采样抗锯齿的速率。典型的多重采样率为每像素 2、4 和有时 8 次采样。更高的 MSAA 采样率可能会影响性能,以换取更好的视觉质量。此值仅适用于支持多重采样渲染目标的 WebGL2 上下文。设置为 1 以禁用 MSAA。
Throws:
Example:
// For each example, include a link to CesiumWidget.css stylesheet in HTML head,
// and in the body, include: <div id="cesiumContainer"></div>

// Widget with no terrain and default Bing Maps imagery provider.
const widget = new Cesium.CesiumWidget("cesiumContainer");

// Widget with ion imagery and Cesium World Terrain.
const widget2 = new Cesium.CesiumWidget("cesiumContainer", {
    baseLayer: Cesium.ImageryLayer.fromWorldTerrain(),
    terrain: Cesium.Terrain.fromWorldTerrain()
    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"
      }
    }),
    // Show Columbus View map with Web Mercator projection
    sceneMode: Cesium.SceneMode.COLUMBUS_VIEW,
    mapProjection: new Cesium.WebMercatorProjection()
});
Demo:

Members

allowDataSourcesToSuspendAnimation : boolean

获取或设置数据源是否可以暂时暂停 动画,以避免向用户显示不完整的图像。 例如,如果正在后台处理异步图元, 时钟将在几何体准备好之前不会推进。
获取相机。

readonly canvas : HTMLCanvasElement

获取画布。
获取时钟。
获取或设置要用小部件时钟进行跟踪的数据源。

readonly container : Element

获取父容器.

readonly creditContainer : Element

获取信用容器。
管理要在屏幕上和灯箱中显示的信用列表。

readonly creditViewport : Element

获取信用视口
获取用于 DataSource 可视化的显示。
获取要可视化的 DataSource 实例集合。
获取场景的默认椭球体。
获取未绑定到特定数据源的实体集合。 这是对 dataSourceDisplay.defaultDataSource.entities 的快捷方式。
获取将在地球上渲染的影像层集合。

resolutionScale : number

获取或设置渲染分辨率的缩放因子。小于 1.0 的值可以在性能较弱的设备上提高性能,而大于 1.0 的值将以更高的分辨率进行渲染,然后缩小,从而提高视觉保真度。 例如,如果小部件的布局大小为 640x480,将此值设置为 0.5 将导致场景以 320x240 的分辨率渲染,然后放大,而将其设置为 2.0 将导致场景以 1280x960 的分辨率渲染,然后缩小。
Default Value: 1.0
获取场景。
获取屏幕空间事件处理程序。

targetFrameRate : number

获取或设置小部件的目标帧率,当 useDefaultRenderLoop 为 true 时。如果未定义,浏览器的 requestAnimationFrame 实现 将决定帧率。如果定义,则该值必须大于 0。高于基础 requestAnimationFrame 实现的值将无效。
提供地球表面几何的地形提供者。
获取或设置当前正在被相机跟踪的实体实例。

readonly trackedEntityChanged : Event

获取当跟踪的实体改变时引发的事件。

useBrowserRecommendedResolution : boolean

布尔标志,指示是否使用浏览器推荐的分辨率。 如果为 true,则忽略浏览器的设备像素比,而是使用 1.0, 有效地基于 CSS 像素而不是设备像素进行渲染。这可以改善 性能在高像素密度的低性能设备上。当为 false 时, 渲染将以设备像素进行。无论此标志为 true 还是 false, CesiumWidget#resolutionScale 仍然会生效。
Default Value: true

useDefaultRenderLoop : boolean

获取或设置该小部件是否应控制渲染循环。 如果为 true,小部件将使用 requestAnimationFrame 进行渲染和调整小部件大小,并驱动 模拟时钟。如果设置为 false,则必须手动调用 resizerender 方法作为自定义 渲染循环的一部分。如果在渲染过程中发生错误,将引发 ScenerenderError 事件,并且此属性 将设置为 false。在错误发生后,必须将其设置回 true 以继续渲染。

Methods

销毁小部件。如果永久地,从布局中移除小部件,则应调用此方法.

flyTo(target, options)Promise.<boolean>

将相机飞向提供的实体、实体集合或数据源。 如果数据源仍在加载过程中,或可视化仍在加载中, 此方法将在数据准备好后进行飞行。

偏移量是以局部东-北-上参考框架中的方位角/俯仰角/范围, 该框架以包围球的中心为中心。方位角和俯仰角定义在局部东-北-上参考框架中。 方位角是从 y 轴的角度,并朝 x 轴增加。俯仰角是从 xy 平面旋转的角度。正的俯仰角 在平面上方。负的俯仰角在平面下方。范围是从中心的距离。如果范围为 零,将计算一个范围,使整个包围球可见。

在 2D 中,必须有一个俯视图。相机会放置在目标上方向下看。相对于目标的高度 将是范围。方位角将根据偏移量确定。如果无法通过偏移量确定方位角, 方位角将是北方。

Name Type Description
target Entity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|VoxelPrimitive)> 要查看的实体、实体数组、实体集合、数据源、Cesium3DTileset、点云或影像层。您还可以传递一个解析为上述类型之一的 Promise。
options object optional 包含以下属性的对象:
Name Type Default Description
duration number 3.0 optional 飞行持续时间(秒)。
maximumHeight number optional 飞行峰值时的最大高度。
offset HeadingPitchRange optional 在局部东-北-上参考框架中从目标的偏移量,以目标为中心。
Returns:
一个 Promise,如果飞行成功解析为 true,如果目标当前未在场景中可视化或飞行被取消则解析为 false。 //TODO: 清理实体提及

isDestroyed()boolean

Returns:
如果对象已被销毁则返回 true,否则返回 false.
渲染场景。此函数会在需要时自动调用, 除非 useDefaultRenderLoop 设置为 false;
更新画布大小、相机纵横比和视口大小。 此函数会在需要时自动调用,除非 useDefaultRenderLoop 设置为 false。

showErrorPanel(title, message, error)

向用户显示一个错误面板,包含标题和更长的错误消息, 可以通过 OK 按钮来关闭。 当发生渲染循环错误时, 如果在构造小部件时未将 showRenderLoopErrors 设置为 false, 则会自动显示此面板。
Name Type Description
title string 要在错误面板上显示的标题。此字符串被解释为文本。
message string optional 在详细错误信息之前显示的有用用户消息。此字符串被解释为 HTML。
error string optional 要在错误面板上显示的错误。此字符串使用 formatError 格式化后,然后作为文本显示。

zoomTo(target, offset)Promise.<boolean>

异步设置相机以查看提供的实体、实体集合或数据源。 如果数据源仍在加载过程中,或可视化仍在加载中, 此方法将在数据准备好后进行缩放。

偏移量是以局部东-北-上参考框架中的方位角/俯仰角/范围, 该框架以包围球的中心为中心。方位角和俯仰角定义在局部东-北-上参考框架中。 方位角是从 y 轴的角度,并朝 x 轴增加。俯仰角是从 xy 平面旋转的角度。正的俯仰角 在平面上方。负的俯仰角在平面下方。范围是从中心的距离。如果范围为 零,将计算一个范围,使整个包围球可见。

在 2D 中,必须有一个俯视图。相机会放置在目标上方向下看。相对于目标的高度 将是范围。方位角将根据偏移量确定。如果无法通过偏移量确定方位角, 方位角将是北方。

Name Type Description
target Entity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|VoxelPrimitive)> 要查看的实体、实体数组、实体集合、数据源、Cesium3DTileset、点云或影像层。您还可以传递一个解析为上述类型之一的 Promise。
offset HeadingPitchRange optional 在局部东-北-上参考框架中从实体中心的偏移量。
Returns:
一个 Promise,如果缩放成功解析为 true,如果目标当前未在场景中可视化或缩放被取消则解析为 false。
需要帮助?获得答案的最快方法是来自社区和团队 Cesium Forum.