Viewer

new Cesium.Viewer (container, options )

用于构建应用程序的基本小部件。它将所有标准Cesium小部件组合到一个可重用的程序包中。窗口小部件可总是通过使用混入,其添加功能可用于多种应用进行扩展。
Name Type Description
container Element | String 将包含窗口小部件的DOM元素或ID。
options Object optional Object with the following properties:
Name Type Default Description
animation Boolean true 可选 如果设置为false,则不会创建'动画'小部件。
baseLayerPicker Boolean true 可选 如果设置为false,则不会创建BaseLayerPicker小部件。
fullscreenButton Boolean true 可选 如果设置为false,将不会创建FullscreenButton小部件。
vrButton Boolean false 可选 如果设置为true,将创建VRButton小部件。
geocoder Boolean | Array.< GeocoderService > true 可选 如果设置为false,则不会创建Geocoder小部件。
homeButton Boolean true 可选 如果设置为false,将不会创建HomeButton小部件。
infoBox Boolean true 可选 如果设置为false,则不会创建InfoBox小部件。
sceneModePicker Boolean true 可选 如果设置为false,将不会创建SceneModePicker小部件。
selectionIndicator Boolean true 可选 如果设置为false,则不会创建SelectionIndicator小部件。
timeline Boolean true 可选 如果设置为false,则不会创建时间轴窗口小部件。
navigationHelpButton Boolean true 可选 如果设置为false,将不会创建导航帮助按钮。
navigationInstructionsInitiallyVisible Boolean true 可选 如果导航说明最初应该是可见的,则为true;如果直到用户明确单击该按钮,则不显示该说明,否则为false。
scene3DOnly Boolean false 可选 如果 true 为true,则每个几何体实例将仅以3D渲染以节省GPU内存。
shouldAnimate Boolean false 可选 如果默认情况下时钟应尝试延长仿真时间,则为 true ,否则为 false 。此选项优先于设置 Viewer#clockViewModel
clockViewModel ClockViewModel new ClockViewModel(options.clock) 可选 用于控制当前时间的时钟视图模型。
selectedImageryProviderViewModel ProviderViewModel 可选 当前基础影像图层的视图模型(如果未提供)将使用第一个可用的基础图层。仅当options.baseLayerPicker设置为true时,此值才有效。
imageryProviderViewModels Array.< ProviderViewModel > createDefaultImageryProviderViewModels() 可选 可以从BaseLayerPicker中选择的ProviderViewModels数组。仅当options.baseLayerPicker设置为true时,此值才有效。
selectedTerrainProviderViewModel ProviderViewModel 可选 当前基础地形图层的视图模型(如果未提供)将使用第一个可用的基础图层。仅当options.baseLayerPicker设置为true时,此值才有效。
terrainProviderViewModels Array.< ProviderViewModel > createDefaultTerrainProviderViewModels() 可选 可以从BaseLayerPicker中选择的ProviderViewModels数组。仅当options.baseLayerPicker设置为true时,此值才有效。
imageryProvider ImageryProvider createWorldImagery() 可选 要使用的图像提供者。仅当options.baseLayerPicker设置为false时,此值才有效。
terrainProvider TerrainProvider new EllipsoidTerrainProvider() 可选 要使用的地形提供商
skyBox SkyBox 可选 用来渲染星星的天空盒。 undefined (未定义)时,将使用默认星号。
skyAtmosphere SkyAtmosphere 可选 蓝天,以及地球四肢的光芒。设置为 false 将其关闭。
fullscreenElement Element | String document.body 可选 按下全屏按钮时,元素或ID将进入全屏模式。
useDefaultRenderLoop Boolean true 可选 如果此小部件应控制渲染循环,则为true,否则为false。
targetFrameRate Number 可选 使用默认渲染循环时的目标帧速率。
showRenderLoopErrors Boolean true 可选 如果为true,则在发生渲染循环错误时,此小部件将自动向包含错误的用户显示HTML面板。
useBrowserRecommendedResolution Boolean false 可选 如果为true,则以浏览器建议的分辨率进行渲染,并忽略 window.devicePixelRatio
automaticallyTrackDataSourceClocks Boolean true 可选 如果为true,则此小部件将自动跟踪新添加的数据源的时钟设置,并在数据源的时钟发生更改时进行更新。如果要独立配置时钟,请将其设置为false。
contextOptions Object 可选 options 相对应的上下文和WebGL创建属性传递给 Scene
sceneMode SceneMode SceneMode.SCENE3D 可选 初始场景模式。
mapProjection MapProjection new GeographicProjection() 可选 在2D和Columbus View模式下使用的地图投影。
globe Globe new Globe(mapProjection.ellipsoid) 可选 场景中使用的地球仪。如果设置为 false ,则不会添加任何地球仪。
orderIndependentTranslucency Boolean true 可选 如果为true并且配置支持它,则使用顺序无关的半透明性。
creditContainer Element | String 可选 包含 CreditDisplay 的DOM元素或ID。如果未指定,则将功劳添加到小部件本身的底部。
creditViewport Element | String 可选 包含由 CreditDisplay 创建的弹出窗口的DOM元素或ID。如果未指定,它将显示在小部件本身上。
dataSources DataSourceCollection new DataSourceCollection() 可选 小部件可视化的数据源集合。如果提供此参数,                              该实例假定为调用者所有,并且在销毁查看器时也不会销毁。
terrainExaggeration Number 1.0 可选 用于放大地形的标量。请注意,地形夸张不会修改任何其他相对于椭球的图元。
shadows Boolean false 可选 确定阴影是否由太阳投射。
terrainShadows ShadowMode ShadowMode.RECEIVE_ONLY 可选 确定地形是投射还是接收来自太阳的阴影。
mapMode2D MapMode2D MapMode2D.INFINITE_SCROLL 可选 确定2D地图是可旋转的还是可以在水平方向无限滚动。
projectionPicker Boolean false 可选 如果设置为true,将创建ProjectionPicker小部件。
requestRenderMode Boolean false 可选 如果为true,则仅根据场景中的更改确定是否需要渲染帧。启用可减少应用程序的CPU/GPU使用率,并减少移动设备上的电池消耗,但需要使用 '> Scene#requestRender 来呈现新的在此模式下显式帧。在API的其他部分对场景进行更改之后,在许多情况下这是必要的。请参见 通过显式渲染提高性能
maximumRenderTimeChange Number 0.0 可选 如果requestRenderMode为true,则此值定义在请求渲染之前允许的最大仿真时间更改。请参见 通过显式渲染提高性能
Throws:
  • DeveloperError :ID为'容器'的元素在文档中不存在。
  • DeveloperError :options.selectedImageryProviderViewModel在不使用BaseLayerPicker小部件时不可用,请指定options.imageryProvider。
  • DeveloperError :options.selectedTerrainProviderViewModel在不使用BaseLayerPicker窗口小部件时不可用,请改为指定options.terrainProvider。
Example:
//Initialize the viewer widget with several custom options and mixins.
var viewer = new Cesium.Viewer('cesiumContainer', {
    //Start in Columbus Viewer
    sceneMode : Cesium.SceneMode.COLUMBUS_VIEW,
    //Use Cesium World Terrain
    terrainProvider : Cesium.createWorldTerrain(),
    //Hide the base layer picker
    baseLayerPicker : false,
    //Use OpenStreetMaps
    imageryProvider : new Cesium.OpenStreetMapImageryProvider({
        url : 'https://a.tile.openstreetmap.org/'
    }),
    // Use high-res stars downloaded from https://github.com/AnalyticalGraphicsInc/cesium-assets
    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
    mapProjection : new Cesium.WebMercatorProjection()
});

//Add basic drag and drop functionality
viewer.extend(Cesium.viewerDragDropMixin);

//Show a pop-up alert if we encounter an error when processing a dropped file
viewer.dropError.addEventListener(function(dropHandler, name, error) {
    console.log(error);
    window.alert(error);
});
Demo:
See:

Members

allowDataSourcesToSuspendAnimation : Boolean

获取或设置数据源是否可以临时暂停动画,以避免向用户显示不完整的图片。例如,如果异步原语正在在几何图形准备就绪之前,时钟不会提前。
获取动画小部件。
获取BaseLayerPicker。

readonly bottomContainer : Element

获取包含以下内容的窗口底部区域的DOM元素: CreditDisplay 以及其他可能的东西。
获取相机。

readonly canvas : Canvas

获取画布。
获取CesiumWidget。
获取时钟。
获取或设置数据源以与查看者的时钟进行跟踪。
获取时钟视图模型。

readonly container : Element

获取父容器。
获取用于 DataSource 可视化的显示。
获取要可视化的 DataSource 实例集。
获取未绑定到特定数据源的实体的集合。这是 dataSourceDisplay.defaultDataSource.entities 的快捷方式。
获取FullscreenButton。
获取地理编码器。
获取'主页'按钮。
获取将在地球上渲染的图像图层的集合。
获取信息框。
获取NavigationHelpButton。
获取后处理阶段。
获取ProjectionPicker。

resolutionScale : Number

获取或设置渲染分辨率的缩放比例。小于1.0的值可以改善性能不佳的设备上的性能,而值大于1.0的设备将以更高的速度呈现分辨率,然后缩小比例,从而提高视觉保真度。例如,如果窗口小部件的尺寸为640x480,则将此值设置为0.5将导致场景以320x240渲染,然后在设置时按比例放大设置为2.0会导致场景以1280x960渲染,然后按比例缩小。
Default Value: 1.0
获取场景。
获取SceneModePicker。
获取屏幕空间事件处理程序。
获取或设置要为其显示选择指示符的对象实例。

readonly selectedEntityChanged : Event

获取当选定实体更改时引发的事件。
获取选择指示器。
获取场景的阴影贴图
确定阴影是否由太阳投射。

targetFrameRate : Number

useDefaultRenderLoop 时获取或设置小部件的目标帧速率是真的。如果未定义,则为浏览器的 requestAnimationFrame 实现确定帧频。如果定义,则该值必须大于0。更高的值基本的requestAnimationFrame实现将无效。
地形提供者为地球提供表面几何形状。
确定地形是从太阳投射还是阴影。
获取时间轴小部件。
获取或设置相机当前正在跟踪的Entity实例。

readonly trackedEntityChanged : Event

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

useBrowserRecommendedResolution : Boolean

布尔型标志,指示是否使用浏览器推荐的分辨率。如果为true,则会忽略浏览器的设备像素比率,而改用1.0,根据CSS像素而不是设备像素有效地渲染。这样可以改善在像素密度较高的功能较弱的设备上的性能。如果为假,则渲染将以设备像素为单位。 Viewer#resolutionScale 仍然会生效该标志为真或假。
Default Value: false

useDefaultRenderLoop : Boolean

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

Methods

销毁小部件。如果被永久调用从布局中删除小部件。

extend (mixin, options )

使用提供的mixin扩展基本查看器功能。混合可能会添加其他属性,功能或其他行为到提供的查看器实例。
Name Type Description
mixin Viewer~ViewerMixin 要添加到该实例的查看器混合。
options Object 可选 options对象将传递给mixin函数。
See:

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 )> 实体,实体阵列,实体集合,数据源,要查看的Cesium3DTileset,点云或图像层。您还可以传递一个可以解决上述类型之一的承诺。
options Object 可选 具有以下属性的对象:
名称 类型 默认 说明
持续时间 数字 3.0 可选 飞行持续时间(以秒为单位)。
maximumHeight 数字 可选 飞行高峰时的最大高度。
offset HeadingPitchRange 可选 在局部东北朝上的参考框中,距目标的偏移量。
Returns:
如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的承诺。 //TODO:清理实体提及
这迫使窗口小部件重新考虑其布局,包括窗口小部件尺寸和信用位置。

isDestroyed () Boolean

Returns:
如果对象已销毁,则为true,否则为false。
渲染场景。该功能会自动调用除非 useDefaultRenderLoop 设置为false;
调整窗口小部件的大小以匹配容器的大小。除非需要,否则将自动调用此函数 useDefaultRenderLoop 设置为false。

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 )> 实体,实体阵列,实体集合,数据源,要查看的Cesium3DTileset,点云或图像层。您还可以传递一个可以解决上述类型之一的承诺。
offset HeadingPitchRange 可选 在局部东北向上参考系中,距实体中心的偏移量。
Returns:
一个Promise,如果缩放成功,则解析为true;如果当前未在场景中可视化目标,或者取消了缩放,则为false。

Type Definitions

ViewerMixin (viewer, options)

通过附加功能扩展Viewer实例的功能。
Name Type Description
viewer Viewer 查看器实例。
options Object 选项对象将传递给mixin函数。
See: