Viewer是用于构建应用程序的基础部件,它将所有标准的Cesium部件组合成一个可重复使用的包。 viewer部件通常可以利用mixin来扩展,以此增加对各种应用程序有用的功能函数。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
container |
Element | String | 指定容纳viewer部件的HTML元素的文档对象模型(DOM)或ID。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
Object |
optional
对象具有以下属性:
|
Throws:
-
DeveloperError : 文档中不存在具有该标识的"container"元素。
-
DeveloperError : 在使用BaseLayerPicker部件时,options.imageryProvider不可用,请更改为指定options.selectedImageryProviderViewModel。
-
DeveloperError : 在使用BaseLayerPicker部件时,options.terrainProvider不可用,请更改为指定options.selectedTerrainProviderViewModel。
-
DeveloperError : 在使用BaseLayerPicker部件时,options.selectedImageryProviderViewModel不可用,请更改为指定options.imageryProvider。
-
DeveloperError : 在使用BaseLayerPicker部件时,options.selectedTerrainProviderViewModel不可用,请更改为指定options.terrainProvider 。
- Animation
- BaseLayerPicker
- CesiumWidget
- FullscreenButton
- HomeButton
- SceneModePicker
- Timeline
- viewerDragDropMixin
Example:
//初始化viewer部件
var viewer = new LSGlobe.Viewer('cesiumContainer', {
// 添加许可码和许可地址
url : 'xxx',
guid :'xxx',
//使用STK World Terrain
terrainProvider : new LSGlobe.CesiumTerrainProvider({
url : 'https://assets.agi.com/stk-terrain/v1/tilesets/world/tiles'
}),
// 隐藏基本图层拾取
baseLayerPicker : false,
//使用OpenStreetMaps
imageryProvider : LSGlobe.createOpenStreetMapImageryProvider({
url : 'https://a.tile.openstreetmap.org/'
}),
// 添加基础拖放功能
skyBox : new LSGlobe.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'
}
}),
// 用墨卡托投影显示哥伦布视图地图
mapProjection : new LSGlobe.WebMercatorProjection()
});
// 添加基本的拖放功能
viewer.extend(LSGlobe.viewerDragDropMixin);
// 处理删除文件时遇到错误,显示弹出式警告。
viewer.dropError.addEventListener(function(dropHandler, name, error) {
console.log(error);
window.alert(error);
});
Demo:
See:
Members
-
获取Animation widget对象
-
获取BaseLayerPicker对象
-
readonlycamera : Camera
-
获取camera对象
-
获取canvas对象
-
获取CesiumWidget对象
-
获取时钟对象
-
获取时钟显示模式对象
-
获取父容器
-
获取dataSourceDisplay
-
readonlydataSources : DataSourceCollection
-
获取或设置将要被可视化的数据源DataSource实例集合
-
readonlyentities : EntityCollection
-
获取与特定数据源无关的实体集合
-
获取FullscreenButton对象
-
获取Geocoder对象
-
获取HomeButton对象
-
readonlyimageryLayers : ImageryLayerCollection
-
获取将在地球上渲染的影像图层集合
-
获取infobox对象
-
获取NavigationHelpButton对象
-
获取ProjectionPicker对象
-
readonlyscene : Scene
-
获取scene对象
-
获取SceneModePicker对象
-
获取屏幕事件处理对象
-
selectedEntity : Entity
-
获取或设置为其显示选择指示符的对象
-
获取selectionIndicator对象
-
获取场景的阴影地图
-
确定阴影是否由太阳投射形成
-
当使用默认的渲染循环的时候,获取或者设置目标widget的帧率。 如果未定义,浏览器的所需要的动画帧的实现决定着这个帧率。 如果定义的话,这个值必须大于0,如果比基础的动画帧的实现值大的话,这个值就是无效的
-
为地球提供表面几何图形的地形提供者(TerrainProvider)对象
-
确定地形是否投射或接受来自太阳的阴影
-
获取Timeline widget对象
-
trackedEntity : Entity
-
获取或设置当前由相机跟踪的实体
-
获取或设置部件是否能够控制渲染循环。 设置为true时,部件将使用requestAnimationFrame来执行渲染和调整部件大小, 以及驱动时钟模拟; 设置为false时,则必须手动调用render、resize方法来作为自定义循环渲染的一部分。 如果渲染期间发生错误,将触发Scene的renderError事件,并且此属性将更改为false,错误发生后此属性必须改回true才能继续渲染
-
获取VRButton对象
Methods
-
返回是否释放对象占用的资源
-
利用提供的mixin扩展基础的veiewer功能, 一个mixin变量可鞥添加其他的属性,函数和动作到所提供的viewer实例对象中去
Name Type Description mixin
Viewer~ViewerMixin 将mixin扩展添加到实例中 options
Object optional 要传递给mixin函数的选项 - viewerDragDropMixin
See:
-
相机飞向指定的实体、实体集或数据源。如果数据源仍在加载中,或者可视化仍在进行,此方法在执行飞行前需等待数据准备就绪。 offset变量由在局部“东-北-上”参考系(中心点为包围球中心)中的“方位角/俯仰角/范围”表示。 方位角和俯仰角的角度在局部“东-北-上”参考系中定义。方位角heading是从y轴开始并朝向x轴增加的角度值。 俯仰角pitch是从xy平面开始的旋转角度,俯仰角为正表示位于平面上方,为负表示位于平面下方。 距离range表示距中心点的距离,如果range为0,则将计算一个范围使得整个包围球可见。 在二维中必须有自上而下的视图。 相机位于俯视目标上方。range为在目标上方的高度; headingy由偏移量确定,若不能根据偏移量确定方位角,heading为北方向
Name Type Description target
Entity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer)> 要查看的实体、实体数组、实体集合、数据源,Cesium3DTiles或图像层 options
Object optional 对象具有以下属性: Name Type Default Description duration
Number 3.0
optional 飞行持续时间(以秒为单位) maximumHeight
Number optional 飞行中的最大高度 offset
HeadingPitchRange optional 在以目标为中心的局部“东-北-上”参考系中,距离目标的偏移量 Returns:
飞行成功时,promise被解析为true;如果实体未在场景中可视化或飞行取消,promise被解析为false -
强制重调,使得部件重新考虑包括部件大小、credit放置等布局
-
Returns:
如果对象被销毁,则返回true,否则返回false -
渲染场景。除非useDefaultRenderLoop设置为false,否则将自动调用此函数
-
异步设置相机,以查看指定的实体、实体集或数据源。如果数据源仍在加载中,或者可视化仍在进行, 此方法在执行缩放前需等待数据准备就绪。 offset变量由在局部“东-北-上”参考系(中心点为包围球中心)中 的“方位角/俯仰角/范围”表示。方位角和俯仰角的角度在局部“东-北-上”参考系中定义。 方位角heading是从y轴开始并朝向x轴增加的角度值。俯仰角pitch是从xy平面开始的旋转角度,俯仰角为正表示位于平面上方, 为负表示位于平面下方。 距离range表示距中心点的距离,如果range为0,则将计算一个范围使得整个包围球可见。 在二维中必须有自上而下的视图。相机位于俯视目标的上方。range 为在目标上方的高度;heading有偏移量确定, 不然不能根据偏移量确定方位角,heading为北方向
Name Type Description target
Entity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer)> 要查看的实体、实体数组、实体集合、数据源、Cesium#DTileset或图像层 offset
HeadingPitchRange optional 指定距局部“东-北-上”参考系中心的偏移量 Returns:
缩放成功时,promise被解析为true;如果实体未在场景中可视化或缩放取消,promise被解析为false