一个包含 Cesium 场景的 widget。
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
container |
Element | string | 将包含该 widget 的 DOM 元素或 ID。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
object |
optional
包含以下属性的对象:
|
Throws:
-
DeveloperError :文档中不存在 id 为 "container" 的元素。
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
获取或设置数据源是否可以临时暂停动画,以避免向用户显示不完整的画面。例如,如果异步图元正在后台处理,则时钟在几何图形准备就绪之前不会推进。
readonly camera : Camera
获取相机。
获取画布。
readonly clock : Clock
获取时钟。
clockTrackedDataSource : DataSource
获取或设置要与 widget 的时钟一起跟踪的数据源。
获取父容器。
获取署名容器。
creditDisplay : CreditDisplay
管理要在屏幕和灯箱中显示的署名列表。
获取署名视口。
readonly dataSourceDisplay : DataSourceDisplay
获取用于
DataSource 可视化的显示。
readonly dataSources : DataSourceCollection
获取要可视化的
DataSource 实例集合。
readonly ellipsoid : Ellipsoid
获取场景的默认椭球体。
readonly entities : EntityCollection
获取未绑定到特定数据源的实体集合。这是
dataSourceDisplay.defaultDataSource.entities 的快捷方式。
readonly imageryLayers : ImageryLayerCollection
获取将在地球上渲染的影像图层集合。
获取或设置渲染分辨率的比例因子。小于 1.0 的值可以在性能较弱的设备上提高性能,而大于 1.0 的值将以更高的分辨率渲染然后再缩小,从而获得更高的视觉保真度。例如,如果 widget 以 640x480 的大小布局,将此值设置为 0.5 会使场景以 320x240 渲染然后放大,而设置为 2.0 会使场景以 1280x960 渲染然后缩小。
-
Default Value:
1.0
readonly scene : Scene
获取场景。
readonly screenSpaceEventHandler : ScreenSpaceEventHandler
获取屏幕空间事件处理器。
获取或设置当
useDefaultRenderLoop 为 true 时 widget 的目标帧率。如果未定义,则由浏览器的 requestAnimationFrame 实现决定帧率。如果已定义,此值必须大于 0。高于底层 requestAnimationFrame 实现的值将不起作用。
terrainProvider : TerrainProvider
为地球提供表面几何的地形提供器。
trackedEntity : Entity|undefined
获取或设置当前正被相机跟踪的 Entity 实例。
readonly trackedEntityChanged : Event
获取当被跟踪的实体发生变化时触发的事件。
布尔标志,指示是否使用浏览器推荐的分辨率。如果为 true,则忽略浏览器的设备像素比而改用 1.0,从而基于 CSS 像素而非设备像素进行渲染。这可以在具有高像素密度的性能较弱设备上提高性能。当为 false 时,将以设备像素渲染。
CesiumWidget#resolutionScale 无论此标志为 true 还是 false 都会生效。
-
Default Value:
true
获取或设置此 widget 是否应控制渲染循环。如果为 true,widget 将使用 requestAnimationFrame 来执行 widget 的渲染和调整大小,并驱动仿真时钟。如果设置为 false,您必须作为自定义渲染循环的一部分手动调用
resize、render 方法。如果在渲染过程中发生错误,Scene 的 renderError 事件将被触发,并且此属性将被设置为 false。必须将其重新设置为 true 才能在错误后继续渲染。
Methods
销毁该 widget。如果要从布局中永久移除该 widget,应调用此方法。
将相机飞向所提供的实体、实体数组或数据源。
如果数据源仍在加载过程中,或者可视化也仍在加载中,
此方法会等待数据准备就绪后再执行飞行。
偏移量是在以包围球中心为中心的本地东-北-上参考系中的 heading/pitch/range。 heading 和 pitch 角度定义在本地东-北-上参考系中。 heading 是从 y 轴起算、向 x 轴方向递增的角度。Pitch 是相对 xy 平面的旋转。正 pitch 角度在平面之上。负 pitch 角度在平面之下。range 是距中心的距离。如果 range 为 零,将计算一个 range 值,使整个包围球都可见。
在 2D 中,必须是俯视视图。相机将被放置在目标上方向下看。目标上方的 高度即为 range。heading 将由偏移量确定。如果无法从偏移量 确定 heading,则 heading 为北。
| Name | Type | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
target |
Entity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|VoxelPrimitive|BufferPrimitiveCollection.<BufferPrimitive>)> | 要查看的实体、实体数组、实体集合、数据源、Cesium3DTileset、点云或影像图层。您也可以传入一个解析为上述任一类型的 promise。 | ||||||||||||||||
options |
object |
optional
包含以下属性的对象:
|
Returns:
如果飞行成功则解析为 true,如果目标当前未在场景中可视化或飞行被取消则解析为 false 的 Promise。//TODO: Cleanup entity mentions
Returns:
如果对象已被销毁则为 true,否则为 false。
渲染场景。除非将
useDefaultRenderLoop 设置为 false,否则此函数会自动调用;
更新画布大小、相机宽高比和视口大小。除非将
useDefaultRenderLoop 设置为 false,否则会根据需要自动调用此函数。
向用户显示一个包含标题和较长错误信息的错误面板,该面板可以使用 OK 按钮关闭。当发生渲染循环错误时,如果 widget 构造时 showRenderLoopErrors 不为 false,此面板会自动显示。
| Name | Type | Description |
|---|---|---|
title |
string | 要在错误面板上显示的标题。此字符串被解释为文本。 |
message |
string | optional 在详细错误信息之前显示的、面向用户的有用消息。此字符串被解释为 HTML。 |
error |
string |
optional
要在错误面板上显示的错误。此字符串先使用 formatError 格式化,然后作为文本显示。 |
异步设置相机以查看所提供的实体、实体数组或数据源。
如果数据源仍在加载过程中,或者可视化也仍在加载中,
此方法会等待数据准备就绪后再执行缩放。
偏移量是在以包围球中心为中心的本地东-北-上参考系中的 heading/pitch/range。 heading 和 pitch 角度定义在本地东-北-上参考系中。 heading 是从 y 轴起算、向 x 轴方向递增的角度。Pitch 是相对 xy 平面的旋转。正 pitch 角度在平面之上。负 pitch 角度在平面之下。range 是距中心的距离。如果 range 为 零,将计算一个 range 值,使整个包围球都可见。
在 2D 中,必须是俯视视图。相机将被放置在目标上方向下看。目标上方的 高度即为 range。heading 将由偏移量确定。如果无法从偏移量 确定 heading,则 heading 为北。
| Name | Type | Description |
|---|---|---|
target |
Entity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|VoxelPrimitive|BufferPrimitiveCollection.<BufferPrimitive>)> | 要查看的实体、实体数组、实体集合、数据源、Cesium3DTileset、点云或影像图层。您也可以传入一个解析为上述任一类型的 promise。 |
offset |
HeadingPitchRange | optional 在本地东-北-上参考系中相对于实体中心的偏移量。 |
Returns:
如果缩放成功则解析为 true,如果目标当前未在场景中可视化或缩放被取消则解析为 false 的 Promise。
