new Viewer(container)
Viewer是用于构建应用程序的基础部件,它将所有标准的Cesium部件组合成一个可重复使用的包。 viewer部件通常可以利用mixin来扩展,以此增加对各种应用程序有用的功能函数。
| Name | Type | Default | Description |
|---|---|---|---|
container |
Element | String |
指定容纳viewer部件的HTML元素的文档对象模型(DOM)或ID。 |
|
options.clock |
Clock | new Clock() |
可选
用于控制当前时间的时钟。 |
options.selectedImageryProviderViewModel |
ProviderViewModel |
可选
当前基础影像图层的视图模型,如若未提供,则使用第一个可用基础图层。此值仅在 options.baseLayerPicker 设置为true时有效。 |
|
options.imageryProviderViewModels |
Array.<ProviderViewModel> | createDefaultImageryProviderViewModels() |
可选
ProviderViewModels数组可从BaseLayerPicker中选择。此值仅在 options.baseLayerPicker 设置为true时有效。 |
options.selectedTerrainProviderViewModel |
ProviderViewModel |
可选
当前基础地形图层的视图模型,如若未提供,则使用第一个可用基础图层。此值仅在 options.baseLayerPicker 设置为true时有效。 |
|
options.terrainProviderViewModels |
Array.<ProviderViewModel> | createDefaultTerrainProviderViewModels() |
可选
ProviderViewModels数组可从BaseLayerPicker中选择。此值仅在 options.baseLayerPicker 设置为true时有效。 |
options.imageryProvider |
ImageryProvider | new BingMapsImageryProvider() |
可选
使用的影像提供者。此值仅在 options.baseLayerPicker 设置为 false 时有效。 |
options.terrainProvider |
TerrainProvider | new EllipsoidTerrainProvider() |
可选
使用的地形提供者。 |
options.skyBox |
SkyBox |
可选
用于渲染星辰的天空盒,未定义时,使用默认星辰效果。 |
|
options.skyAtmosphere |
SkyAtmosphere |
可选
环绕地球边缘的蓝天和光晕效果,设置为false可将其关闭。 |
|
options.useDefaultRenderLoop |
Boolean | true |
可选
如果此部件能够控制渲染循环,设置为true,反之设置为false。 |
options.targetFrameRate |
Number |
可选
使用默认渲染循环时的目标帧速率。 |
|
options.showRenderLoopErrors |
Boolean | true |
可选
如果设置为true,发生渲染循环错误时,将自动给用户显示一个包含错误信息的HTML面板。 |
options.automaticallyTrackDataSourceClocks |
Boolean | true |
可选
如果设置为true,将自动跟踪新添加数据源的时钟设置,如果数据源的时钟变更,则更新。如需单独设置时钟,请将此项设置为false。 |
options.contextOptions |
ContextType |
可选
Context and WebGL 创建属性与传递给 |
|
options.mapProjection |
MapProjection | new GeographicProjection() |
可选
在二维和Columbus视图模式下所使用的地图投影。 |
options.globe |
Globe | new Globe(mapProjection.ellipsoid) |
可选
场景中的地球,如果此项设置为false,将不添加球体对象。 |
options.orderIndependentTranslucency |
Boolean | true |
可选
如果此项设置为true,并且使用设备支持,将使用与顺序无关的半透明。 |
options.creditContainer |
Element | String |
可选
指定包含 |
|
options.dataSources |
DataSourceCollection | new DataSourceCollection() |
可选
指定由viewer部件可视化的数据源集合。如果提供此参数,实例由调用者拥有,并且viewer被销毁时此实例不被销毁。 |
options.terrainExaggeration |
Number | 1.0 |
可选
用于夸张地形的标量。请注意,设置地形夸张不会修改其它任何数据。 |
options.shadows |
Boolean | false |
可选
是否开启阴影。 |
options.terrainShadows |
ShadowMode | ShadowMode.RECEIVE_ONLY |
可选
确定地形是否投射或接受来自太阳的阴影。 |
options.mapMode2D |
MapMode2D | MapMode2D.INFINITE_SCROLL |
可选
确定二维地图是可旋转的或是可以在在水平方向上无限滚动。 |
options.navigation |
Boolean | true |
可选
是否显示导航罗盘控件, 默认显示。如需隐藏, 请将此项设置为false。 |
options.PerformancePreferenceMode |
PerformancePreferenceMode |
可选
性能偏好模式,加载各类数据时,可设置性能或者效果优先。 |
- See:
Throws:
-
-
文档中不存在具有该标识的"container"元素。
- Type
- DeveloperError
-
-
-
在使用BaseLayerPicker部件时,options.imageryProvider不可用,请更改为指定options.selectedImageryProviderViewModel。
- Type
- DeveloperError
-
-
-
在使用BaseLayerPicker部件时,options.terrainProvider不可用,请更改为指定options.selectedTerrainProviderViewModel。
- Type
- DeveloperError
-
-
-
在使用BaseLayerPicker部件时,options.selectedImageryProviderViewModel不可用,请更改为指定options.imageryProvider。
- Type
- DeveloperError
-
-
-
在使用BaseLayerPicker部件时,options.selectedTerrainProviderViewModel不可用,请更改为指定options.terrainProvider 。
- Type
- DeveloperError
-
Example
//初始化viewer部件
var viewer = new SuperMap3D.Viewer('Container', {
//使用 STK World Terrain
terrainProvider : new SuperMap3D.SuperMapTerrainProvider({
url : 'https://assets.agi.com/stk-terrain/world'
}),
//使用OpenStreetMaps
imageryProvider : SuperMap3D.createOpenStreetMapImageryProvider({
url : 'https://a.tile.openstreetmap.org/'
}),
});
//添加基础拖放功能
viewer.extend(SuperMap3D.viewerDragDropMixin);
//处理删除文件时遇到错误,显示弹出式警告。
viewer.dropError.addEventListener(function(dropHandler, name, error) {
console.log(error);
window.alert(error);
});
Members
-
allowDataSourcesToSuspendAnimationBoolean
-
获取或设置数据源是否可以暂时暂停动画,以避免向用户显示不完整的图片。例如,假如后台正在处理异步函数,在几何图形准备就绪前,时钟不会前进。
-
readonly animationAnimation
-
获取动画(Animation)部件。
-
readonly baseLayerPickerBaseLayerPicker
-
获取基础图层拾取器(BaseLayerPicker)对象。
-
readonly bottomContainerElement
-
获取窗口底部包含
CreditDisplay及其他潜在信息的DOM元素。 -
readonly cameraCamera
-
获取相机(camera)对象。
-
readonly canvasCanvas
-
获取画布(canvas)对象。
-
readonly cesiumLogoElement
-
获取Cesium的logo元素。
-
readonly clockClock
-
获取时钟(clock)对象。
-
clockTrackedDataSourceDataSource
-
获取或设置跟踪viewer时钟的数据源。
-
readonly clockViewModelClockViewModel
-
获取时钟视图模型。
-
readonly containerElement
-
获取父容器。
-
readonly dataSourceDisplayDataSourceDisplay
-
获取用于
DataSource的显示。 -
readonly dataSourcesDataSourceCollection
-
获取或设置将要被可视化的数据源
DataSource实例集合。 -
readonly entitiesEntityCollection
-
获取与特定数据源无关的实体集合。这是访问
dataSourceDisplay.defaultDataSource.entities的快捷方式。 -
readonly fullscreenButton
-
获取全屏按钮(FullscreenButton)对象。
-
readonly geocoderGeocoder
-
获取地理编码器(Geocoder)对象。
-
readonly homeButton
-
获取主页按钮(HomeButton)对象。
-
readonly imageryLayersImageryLayerCollection
-
获取将在地球上渲染的影像图层集合。
-
readonly navigationHelpButton
-
获取导航帮助按钮(NavigationHelpButton)对象。
-
readonly postProcessStagesPostProcessStageCollection
-
获取后处理阶段。
-
readonly projectionPickerProjectionPicker
-
获取投影拾取器。
-
resolutionScaleNumber
-
获取或设置渲染分辨率的缩放因子。 值小于1.0时能够在不太强大的设备上提高性能;相反,值大于1.0时将会以更高分辨率渲染,然后按比例缩小,以此提高视觉保真度。 例如窗口部件以640x480的大小布设,将此属性设置为0.5,将导致场景以320x240分辨率渲染,场景按比例放大,而将其设置为2.0将导致场景以1280x960渲染,场景按比例缩小。
- Default Value: 1.0
readonly sceneScene
获取场景(scene)对象。
readonly sceneModePickerSceneModePicker
获取场景模式拾取器(SceneModePicker)对象。
readonly screenSpaceEventHandlerScreenSpaceEventHandler
获取屏幕空间事件处理程序。
selectedEntityEntity
获取或设置为其显示选择指示符的对象实例。
readonly selectedEntityChangedEvent
获取选择实体对象变化时引发的事件。
readonly selectionIndicatorSelectionIndicator
获取选择指示符(SelectionIndicator)对象。
readonly shadowMapShadowMap
获取场景的阴影地图。
shadowsBoolean
获取或设置阴影效果。
targetFrameRateNumber
当useDefaultRenderLoop设置为true时,获取或设置部件的目标帧速率。
如果未定义此属性,由浏览器的requestAnimationFrame实现确定帧速率;如果已定义此属性,该值应大于0,并且大于底层requestAnimationFrame的值将不起作用。
terrainProviderTerrainProvider
为地球提供表面几何图形的地形提供者(TerrainProvider)对象。
terrainShadowsShadowMode
确定地形是否投射或接受来自太阳的阴影。
readonly timelineTimeline
获取时间轴(Timeline)部件。
trackedEntityEntity
获取或设置当前由相机跟踪的实体实例。
readonly trackedEntityChangedEvent
获取跟踪实体对象变化时引发的事件。
useDefaultRenderLoopBoolean
获取或设置部件是否能够控制渲染循环。
设置为true时,部件将使用requestAnimationFrame来执行渲染和调整部件大小,以及驱动时钟模拟;
设置为false时,则必须手动调用render、resize方法来作为自定义循环渲染的一部分。
如果渲染期间发生错误,将触发Scene的renderError事件,并且此属性将更改为false,错误发生后此属性必须改回true才能继续渲染。
readonly vrButton
获取VRButton对象。
readonly webSceneWebScene
获取当前场景的webscene对象
readonly Widget
获取Widget对象。
Methods
-
destroy()
-
释放对象占用的资源。
-
extend(mixin, options)
-
使用提供的mixin来扩展基础viewer功能。 mixin 可以向提供的viewer实例增加额外的属性、功能或者其他行为。
Name Type Description mixinViewer~ViewerMixin 指定将要被添加到实例的Viewer mixin对象。
optionsObject 可选 指定传递给mixin函数的options对象。
- See:
-
flyTo(target){Promise.<Boolean>}
-
相机飞向指定的实体、实体集或数据源。如果数据源仍在加载中,或者可视化仍在进行,此方法在执行飞行前需等待数据准备就绪。
offset变量由在局部“东-北-上”参考系(中心点为包围球中心)中的“方位角/俯仰角/范围”表示。方位角和俯仰角的角度在局部“东-北-上”参考系中定义。方位角heading是从y轴开始并朝向x轴增加的角度值。俯仰角pitch是从xy平面开始的旋转角度,俯仰角为正表示位于平面上方,为负表示位于平面下方。距离range表示距中心点的距离,如果range为0,则将计算一个范围使得整个包围球可见。
在二维中必须有自上而下的视图。相机位于俯视目标上方。range为在目标上方的高度;headingy由偏移量确定,若不能根据偏移量确定方位角,heading为北方向。
Name Type Default Description targetEntity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer)> 指定要查看的实体、实体集、数据源或影像图层。还可以指定一个promise来解析前述类型之一。
options.durationNumber 3.0 可选 飞行持续时间(以秒为单位)。
options.maximumHeightNumber 可选 飞行中的最大高度。
options.offsetHeadingPitchRange 可选 在以目标为中心的局部“东-北-上”参考系中,距离目标的偏移量。
Returns:
Type Description Promise.<Boolean> 飞行成功时,promise被解析为true;如果实体未在场景中可视化或飞行取消,promise被解析为false。 -
forceResize()
-
强制重调,使得部件重新考虑包括部件大小、credit放置等布局。
-
isDestroyed(){Boolean}
-
返回是否释放对象占用的资源。
Returns:
Type Description Boolean true表示已释放占用资源,否则返回false。 -
render()
-
渲染场景。除非useDefaultRenderLoop设置为false,否则将自动调用此函数。
-
resize()
-
调整部件大小以匹配容器。 此函数将根据需求自动调用,除非
useDefaultRenderLoop设置为false。 -
zoomTo(target, offset){Promise.<Boolean>}
-
异步设置相机,以查看指定的实体、实体集或数据源。如果数据源仍在加载中,或者可视化仍在进行,此方法在执行缩放前需等待数据准备就绪。
offset变量由在局部“东-北-上”参考系(中心点为包围球中心)中的“方位角/俯仰角/范围”表示。方位角和俯仰角的角度在局部“东-北-上”参考系中定义。方位角heading是从y轴开始并朝向x轴增加的角度值。俯仰角pitch是从xy平面开始的旋转角度,俯仰角为正表示位于平面上方,为负表示位于平面下方。距离range表示距中心点的距离,如果range为0,则将计算一个范围使得整个包围球可见。
在二维中必须有自上而下的视图。相机位于俯视目标的上方。range 为在目标上方的高度;heading有偏移量确定,不然不能根据偏移量确定方位角,heading为北方向。
Name Type Description targetEntity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer)> 指定要查看的实体、实体集、数据源或影像图层。还可以指定一个promise来解析前述类型之一。
offsetHeadingPitchRange 可选 指定距局部“东-北-上”参考系中心的偏移量。
Returns:
Type Description Promise.<Boolean> 缩放成功时,promise被解析为true;如果实体未在场景中可视化或缩放取消,promise被解析为false。
Type Definitions
-
ViewerMixin(viewer, options)
-
增加具有附加功能的Viewer实例的函数。
Name Type Description viewerViewer viewer实例对象。
optionsObject 传递给mixin函数的options对象。
- See: