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 为 undefined 时。
skyBox SkyBox | false optional 用于渲染星星的天空盒。如果未定义且使用 WGS84 椭球体,则使用默认星形。如果设置为 false,则不会添加 skyBox、Sun 或 Moon。
skyAtmosphere SkyAtmosphere | false optional 蓝天,以及地球边缘周围的辉光。在使用默认椭球时启用。设置为 false 可将其关闭。
sceneMode SceneMode SceneMode.SCENE3D optional 初始场景模式。
scene3DOnly boolean false optional 如果为 true,则每个几何体实例将仅以 3D 形式渲染,以节省 GPU 内存。
orderIndependentTranslucency boolean true optional 如果为 true 且配置支持,则使用顺序无关的半透明。
mapProjection MapProjection new GeographicProjection(options.ellipsoid) optional 在 2D 和 Columbus View 模式下使用的地图投影。
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,则此小部件将自动跟踪新添加的 DataSource 的时钟设置,并在 DataSource 的时钟发生变化时进行更新。 如果要独立配置 clock ,请将其设置为 false 。
contextOptions ContextOptions optional 传递给 Scene 的上下文和 WebGL 创建属性。
creditContainer Element | string optional 将包含 CreditDisplay 的 DOM 元素或 ID。 如果未指定,则添加积分 拖动到小组件本身的底部。
creditViewport Element | string optional 将包含由 CreditDisplay 创建的信用弹出窗口的 DOM 元素或 ID。 如果未指定,它将出现在 widget 本身上。
dataSources DataSourceCollection new DataSourceCollection() optional 小组件可视化的数据源集合。 如果提供此参数,则 假定实例归调用方所有,并且在销毁 widget 时不会销毁。
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

获取或设置数据源是否可以暂时暂停 动画,以避免向用户显示不完整的图片。 例如,如果异步基元正在 background,则在几何图形准备就绪之前,时钟不会前进。
获取相机。

readonly canvas : HTMLCanvasElement

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

readonly container : Element

获取父容器。

readonly creditContainer : Element

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

readonly creditViewport : Element

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

resolutionScale : number

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

targetFrameRate : number

获取或设置使用 DefaultRenderLoop 时 widget 的目标帧率 为 true。如果未定义,则浏览器的 requestAnimationFrame 实现 确定帧速率。 如果已定义,则此值必须大于 0。 更高的值 时,底层的 requestAnimationFrame 实现将不起作用。
提供地球表面几何图形的 terrain 提供程序。
获取或设置相机当前正在跟踪的 Entity 实例。

readonly trackedEntityChanged : Event

获取在跟踪的实体更改时引发的事件。

useBrowserRecommendedResolution : boolean

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

useDefaultRenderLoop : boolean

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

Methods

销毁小部件。如果从布局中永久删除小部件, 则应该调用。

flyTo(target, options)Promise.<boolean>

将摄像机飞到提供的实体、实体或数据源。 如果数据源仍在加载过程中,或者可视化图表仍在加载中, 此方法在执行 Flight 之前等待数据准备就绪。

偏移量是以边界球体中心为中心的本地北向参考系中的航向/俯仰/范围。 航向角和俯仰角在当地东西向北向上的参考系中定义。 航向是与 y 轴成的角度,并逐渐沿 x 轴增加。Pitch 是从 xy 平面开始的旋转。正间距 角度位于平面上方。负俯仰角位于平面下方。范围是距中心的距离。如果范围为 zero,则计算一个范围,使整个边界球体可见。

在 2D 中,必须有一个自上而下的视图。相机将放置在向下看的目标上方。高于 target 将是范围。航向将根据偏移量确定。如果标题不能为 根据偏移量确定,航向将为北。

Name Type Description
target Entity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|VoxelPrimitive)> 要查看的实体、实体数组、实体集合、数据源、Cesium3DTileset、点云或图像图层。您还可以传递一个 Promise,该 Promise 解析为前面提到的类型之一。
options object optional 对象具有以下属性:
Name Type Default Description
duration number 3.0 optional 飞行的持续时间,以秒为单位。
maximumHeight number optional 航班高峰期的最大高度。
offset HeadingPitchRange optional 以目标为中心的本地北向向上参考系中与目标的偏移量。
Returns:
如果飞行成功,则解析为 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 轴增加。Pitch 是从 xy 平面开始的旋转。正间距 角度位于平面上方。负俯仰角位于平面下方。范围是距中心的距离。如果范围为 zero,则计算一个范围,使整个边界球体可见。

在 2D 中,必须有一个自上而下的视图。相机将放置在向下看的目标上方。高于 target 将是范围。航向将根据偏移量确定。如果标题不能为 根据偏移量确定,航向将为北。

Name Type Description
target Entity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|VoxelPrimitive)> 要查看的实体、实体数组、实体集合、数据源、Cesium3DTileset、点云或图像图层。您还可以传递一个 Promise,该 Promise 解析为前面提到的类型之一。
offset HeadingPitchRange optional 在本地东西向向上参考系中与实体中心的偏移量。
Returns:
一个 Promise,如果缩放成功,则解析为 true,如果目标当前未在场景中可视化或缩放已取消,则解析为 false。
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.