Viewer

用于构建应用程序的基本小部件。它将所有标准的BMGL部件组合成一个可重用的包。这个小部件总是可以通过使用mixins进行扩展,mixins为各种应用程序添加了有用的功能。
new Viewer(container, options)
Parameters:
container ((Element | String)) 将包含该小部件的DOM元素或ID。
options (Object)
Name Description
options.animation
Boolean
default false
如果设置为false,则不会创建动画小部件。
options.baseLayerPicker
Boolean
default false
如果设置为false,则不会创建baselayerPicker小部件。
options.fullscreenButton
Boolean
default false
如果设置为false,将不会创建全屏按钮小部件。
options.homeButton
Boolean
default false
如果设置为false,则不会创建homebutton小部件。
options.infoBox
Boolean
default true
如果设置为false,将不会创建信息框小部件。
options.sceneModePicker
Boolean
default false
如果设置为false,则不会创建scenemodepicker小部件。
options.selectionIndicator
Boolean
default true
如果设置为false,则不会创建SelectionIndicator小部件。
options.timeline
Boolean
default false
如果设置为false,则不会创建时间轴小部件。
options.navigationHelpButton
Boolean
default false
如果设置为false,则不会创建导航帮助按钮。
options.navigationInstructionsInitiallyVisible
Boolean
default true
如果导航指令最初应该可见,则为true;如果在用户明确单击按钮之前不应显示,则为false。
options.scene3DOnly
Boolean
default false
true时,每个几何体实例将仅在3D中渲染以保存GPU内存。
options.shouldAnimate
Boolean
default false
true如果时钟在默认情况下试图提前模拟时间,false否则。此选项优先于设置Viewer#clockViewModel
options.clockViewModel
ClockViewModel
default new ClockViewModel(options.clock)
用于控制当前时间的时钟视图模型。
options.mapId
String
要使用的图像ID。仅当options.baselayerPicker设置为false时,此值才有效。
options.terrainId
String
要使用的地形ID
options.skyBox
SkyBox
用来渲染星星的天盒。当undefined时,使用默认星。
options.skyAtmosphere
SkyAtmosphere
蔚蓝的天空,以及环绕地球边缘的光芒。设置为false关闭。
options.fullscreenElement
(Element | String)
default document.body
当按下全屏按钮时要置于全屏模式的元素或ID。
options.useDefaultRenderLoop
Boolean
default true
如果此小部件应控制呈现循环,则为true,否则为false。
options.targetFrameRate
Number
使用默认渲染循环时的目标帧速率。
options.showRenderLoopErrors
Boolean
default true
如果为true,则如果出现呈现循环错误,此小部件将自动向包含错误的用户显示HTML面板。
options.useBrowserRecommendedResolution
Boolean
default false
如果为真,则以浏览器建议的分辨率呈现,并忽略window.devicePixelRatio
options.automaticallyTrackDataSourceClocks
Boolean
default true
如果为true,则此小部件将自动跟踪新添加的数据源的时钟设置,如果数据源的时钟发生更改,则进行更新。如果要独立配置时钟,请将此设置为false。
options.contextOptions
Object
与传递给Sceneoptions对应的上下文和WebGL创建属性。
options.sceneMode
SceneMode
default SceneMode.SCENE3D
初始场景模式。
options.mapProjection
MapProjection
default new GeographicProjection()
要在二维和哥伦布视图模式中使用的地图投影。
options.globe
Globe
default new Globe(mapProjection.ellipsoid)
在场景中使用的球体。如果设置为false,则不会添加地球仪。
options.orderIndependentTranslucency
Boolean
default true
如果为true,并且配置支持它,则使用与顺序无关的半透明。
options.dataSources
DataSourceCollection
default new DataSourceCollection()
由小部件可视化的数据源集合。如果提供此参数,则假定实例由调用方所有,并且在查看器被销毁时不会被销毁。
options.terrainExaggeration
Number
default 1.0
用于放大地形的标量。请注意,地形放大不会修改任何其他基本体,因为它们是相对于椭球体定位的。
options.shadows
Boolean
default false
确定阴影是否由太阳投射。
options.terrainShadows
ShadowMode
default ShadowMode.RECEIVE_ONLY
确定地形是投射还是接收来自太阳的阴影。
options.mapMode2D
MapMode2D
default MapMode2D.INFINITE_SCROLL
确定二维地图是可旋转的还是可以沿水平方向无限滚动。
options.projectionPicker
Boolean
default false
如果设置为true,则将创建ProjectionPicker小部件。
options.requestRenderMode
Boolean
default false
如果为“真”,则仅在场景中的更改决定需要时才会渲染帧。启用会降低应用程序的CPU/GPU使用率,并在移动设备上使用较少的电池,但需要使用Scene#requestRender在此模式下显式呈现新帧。在许多情况下,在对API其他部分中的场景进行更改之后,这是必需的。
options.maximumRenderTimeChange
Number
default 0.0
如果requestrendermode为true,则此值定义请求呈现之前允许的模拟时间的最大更改。
Example
//Initialize the viewer widget with several custom options and mixins.
var viewer = new bmgl.Viewer('container', {
    mapId : ‘bigemap.googlemapen-satellite’,
    terrainId : 'bigemap.terrain-globe'
});

//Add basic drag and drop functionality
viewer.extend(bmgl.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);
});
Throws
See:

Members

allowDataSourcesToSuspendAnimation : Boolean

获取或设置数据源是否可以临时暂停动画以避免向用户显示不完整的图片。例如,如果在后台处理异步基元,则时钟将不会前进,直到几何图形就绪。

(readonly) animation : Animation

获取动画小部件。

(readonly) baseLayerPicker : BaseLayerPicker

获取baselayerPicker。

(readonly) BMWidget : BMWidget

获取bmwidget。

(readonly) camera : Camera

拿到相机。

(readonly) canvas : Canvas

获取画布。

(readonly) clock : Clock

获取时钟。

clockTrackedDataSource : DataSource

获取或设置要用查看器的时钟跟踪的数据源。

(readonly) clockViewModel : ClockViewModel

获取时钟视图模型。

(readonly) container : Element

获取父容器。

(readonly) dataSourceDisplay : DataSourceDisplay

获取用于DataSource可视化的显示。

(readonly) dataSources : DataSourceCollection

获取要可视化的DataSource实例集。

(readonly) entities : EntityCollection

获取未绑定到特定数据源的实体集合。这是指向数据源显示.默认数据源.实体的快捷方式。

(readonly) fullscreenButton : FullscreenButton

获取全屏按钮。

(readonly) homeButton : HomeButton

获取home按钮。

(readonly) imageryLayers : ImageryLayerCollection

获取将在地球仪上呈现的图像层的集合。

(readonly) infoBox : InfoBox

获取信息框。

(readonly) messageContainer : Element

获取窗口顶部区域的DOM元素。
获取导航帮助按钮。

(readonly) postProcessStages : PostProcessStageCollection

获取后期处理阶段。

(readonly) projectionPicker : ProjectionPicker

获取ProjectionPicker。

resolutionScale : Number

获取或设置用于呈现分辨率的比例因子。小于1.0的值可以在功能较弱的设备上提高性能,而大于1.0的值将以更高的分辨率呈现,然后缩小比例,从而提高视觉逼真度。例如,如果小部件的尺寸为640x480,则将此值设置为0.5将导致场景在320x240处渲染,然后在将其设置为2.0时放大,将导致场景在1280x960处渲染,然后缩小。
Default Value: 1.0

(readonly) scene : Scene

获取场景。

(readonly) sceneModePicker : SceneModePicker

获取scenemodepicker。

(readonly) screenSpaceEventHandler : ScreenSpaceEventHandler

获取屏幕空间事件处理程序。

selectedEntity : Entity

获取或设置要为其显示选择指示器的对象实例。

(readonly) selectedEntityChanged : Event

获取选定实体更改时引发的事件。

(readonly) selectionIndicator : SelectionIndicator

获取选择指示器。

(readonly) shadowMap : ShadowMap

获取场景的阴影图

shadows : Boolean

确定阴影是否由太阳投射。

targetFrameRate : Number

获取或设置当useDefaultRenderLoop为真时小部件的目标帧速率。如果未定义,浏览器的requestAnimationFrame实现将确定帧速率。如果已定义,则此值必须大于0。高于基础RequestAnimationFrame实现的值将无效。

terrainProvider : TerrainProvider

地形提供者为地球仪提供表面几何图形。

terrainShadows : ShadowMode

确定地形是从太阳投射还是阴影。

(readonly) timeline : Timeline

获取时间轴小部件。

trackedEntity : Entity

获取或设置摄像头当前正在跟踪的实体实例。

(readonly) trackedEntityChanged : Event

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

useBrowserRecommendedResolution : Boolean

指示是否使用浏览器建议的分辨率的布尔标志。如果为真,则忽略浏览器的设备像素比,改用1.0,从而有效地基于CSS像素而不是设备像素进行渲染。这可以提高在像素密度较低的设备上的性能。如果为false,则渲染将以设备像素为单位。Viewer#resolutionScale无论此标志是对还是错,仍将生效。
Default Value: false

useDefaultRenderLoop : Boolean

获取或设置此小部件是否应控制呈现循环。如果设置为真,小部件将使用requestAnimationFrame执行小部件的渲染和大小调整,并驱动模拟时钟。如果设置为false,则必须手动调用resizerender方法作为自定义呈现循环的一部分。如果在渲染过程中发生错误,将引发ScenesrenderError事件,并将此属性设置为false。必须将其设置回“真”才能在出错后继续呈现。

Methods

destroy()
销毁小部件。如果从布局中永久删除小部件,则应调用。
extend(mixin, options)
使用提供的mixin扩展基本查看器功能。mixin可以向提供的查看器实例添加其他属性、函数或其他行为。
Parameters:
mixin (Viewer~ViewerMixin) 要添加到此实例的查看器mixin。
options (Object) 要传递给mixin函数的options对象。
See:
flyTo(target, options) → {Promise.<Boolean>}
将相机飞向提供的实体、实体或数据源。如果数据源仍在加载过程中,或者可视化仍在加载,则此方法在执行飞行前等待数据准备就绪。

偏移量是以边界球中心为中心的局部东北向上参考框中的航向/俯仰/范围。航向和俯仰角在本地东北向上参考框架中定义。航向是从Y轴到X轴的角度。螺距是从xy平面开始的旋转。正俯仰角在平面上方。负的螺距角在平面以下。范围是距中心的距离。如果范围为零,则计算范围以使整个边界球体可见。

在二维中,必须有一个俯视图。相机将放在目标上方向下看。高于目标的高度将是范围。航向将根据偏移量确定。如果无法从偏移量确定航向,则航向将为北。

Parameters:
target ((Entity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | BM3DTileset | TimeDynamicPointCloud | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer|BM3DTileset|TimeDynamicPointCloud)>)) 要查看的实体、实体数组、实体集合、数据源、bm3dtileset、点云或图像层。您还可以传递一个可以解析为前面提到的类型之一的承诺。
options (Object)
Name Description
options.duration
Number
default 3.0
以秒为单位的飞行时间。
options.maximumHeight
Number
飞行高峰期的最大高度。
options.offset
HeadingPitchRange
在以目标为中心的局部东北向上参考帧中距目标的偏移。
forceResize()
这迫使小部件重新考虑其布局,包括小部件大小和信贷安排。
isDestroyed() → {Boolean}
render()
渲染场景。除非useDefaultRenderLoop设置为false,否则将自动调用此函数;
resize()
调整小部件的大小以匹配容器大小。除非useDefaultRenderLoop设置为false,否则将根据需要自动调用此函数。
zoomTo(target, offset) → {Promise.<Boolean>}
异步设置摄像头以查看提供的实体、实体或数据源。如果数据源仍在加载过程中,或者可视化仍在加载,则此方法在执行缩放之前等待数据准备就绪。

偏移量是以边界球中心为中心的局部东北向上参考框中的航向/俯仰/范围。航向和俯仰角在本地东北向上参考框架中定义。航向是从Y轴到X轴的角度。螺距是从xy平面开始的旋转。正俯仰角在平面上方。负的螺距角在平面以下。范围是距中心的距离。如果范围为零,则计算范围以使整个边界球体可见。

在二维中,必须有一个俯视图。相机将放在目标上方向下看。高于目标的高度将是范围。航向将根据偏移量确定。如果无法从偏移量确定航向,则航向将为北。

Parameters:
target ((Entity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | BM3DTileset | TimeDynamicPointCloud | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer|BM3DTileset|TimeDynamicPointCloud)>)) 要查看的实体、实体数组、实体集合、数据源、bm3dtileset、点云或图像层。您还可以传递一个可以解析为前面提到的类型之一的承诺。
offset (HeadingPitchRange) 从本地东北向上参照框中实体中心的偏移量。

Type Definitions

ViewerMixin(viewer, options)
一种用附加功能扩充观察程序实例的函数。
Parameters:
viewer (Viewer) 查看器实例。
options (Object) 要传递给mixin函数的options对象。
See: