BMWidget

包含BMGL场景的小部件。
new BMWidget(container, options)
Parameters:
container ((Element | String)) 将包含该小部件的DOM元素或ID。
options (Object)
Name Description
options.clock
Clock
default new Clock()
用于控制当前时间的时钟。
options.mapId
String
要显示的地形图ID,设置为false将不会加载地形图。
options.terrainId
String
地形数据ID.
options.skyBox
SkyBox
用来渲染星星的天盒。当undefined时,使用默认星。如果设置为false,则不会添加Skybox、Sun或Moon。
options.skyAtmosphere
SkyAtmosphere
蔚蓝的天空,以及环绕地球边缘的光芒。设置为false关闭。
options.sceneMode
SceneMode
default SceneMode.SCENE3D
初始场景模式。
options.scene3DOnly
Boolean
default false
true时,每个几何体实例将仅在3D中渲染以保存GPU内存。
options.orderIndependentTranslucency
Boolean
default true
如果为true,并且配置支持它,则使用与顺序无关的半透明。
options.mapProjection
MapProjection
default new GeographicProjection()
要在二维和哥伦布视图模式中使用的地图投影。
options.globe
Globe
default new Globe(mapProjection.ellipsoid)
在场景中使用的球体。如果设置为false,则不会添加地球仪。
options.useDefaultRenderLoop
Boolean
default true
如果此小部件应控制呈现循环,则为true,否则为false。
options.useBrowserRecommendedResolution
Boolean
default false
如果为真,则以浏览器建议的分辨率呈现,并忽略window.devicePixelRatio
options.targetFrameRate
Number
使用默认渲染循环时的目标帧速率。
options.showRenderLoopErrors
Boolean
default true
如果为true,则如果出现呈现循环错误,此小部件将自动向包含错误的用户显示HTML面板。
options.contextOptions
Object
与传递给Sceneoptions对应的上下文和WebGL创建属性。
options.creditContainer
(Element | String)
将包含CreditDisplay的DOM元素或ID。如果没有指定,那么将把学分添加到小部件本身的底部。
options.creditViewport
(Element | String)
包含由CreditDisplay创建的贷项弹出窗口的DOM元素或ID。如果没有指定,它将出现在小部件本身上。
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.requestRenderMode
Boolean
default false
如果为“真”,则仅在场景中的更改决定需要时才会渲染帧。启用可以提高应用程序的性能,但需要使用Scene#requestRender在此模式下显式呈现新帧。在许多情况下,在对API其他部分中的场景进行更改之后,这是必需的。
options.maximumRenderTimeChange
Number
default 0.0
如果requestrendermode为true,则此值定义请求呈现之前允许的模拟时间的最大更改。
Example
// For each example, include a link to BMWidget.css stylesheet in HTML head,
// and in the body, include: <div id="container"></div>

//Widget with no terrain and default Google Maps imagery provider.
var widget = new bmgl.BMWidget('container');

//Widget with bm-server imagery and World Terrain.
var widget = new bmgl.BMWidget('container', {
    mapId : ‘bigemap.googlemapen-satellite’,
    terrainId : 'bigemap.terrain-globe'
});
Throws

Members

(readonly) camera : Camera

拿到相机。

canvas : Canvas

获取画布。

clock : Clock

获取时钟。

container : Element

获取父容器。

creditContainer : Element

获取信用容器。

creditViewport : Element

获取“信用”视区

(readonly) imageryLayers : ImageryLayerCollection

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

resolutionScale : Number

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

scene : Scene

获取场景。

screenSpaceEventHandler : ScreenSpaceEventHandler

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

targetFrameRate : Number

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

terrainProvider : TerrainProvider

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

useBrowserRecommendedResolution : Boolean

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

useDefaultRenderLoop : Boolean

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

Methods

destroy()
销毁小部件。如果从布局中永久删除小部件,则应调用。
isDestroyed() → {Boolean}
render()
渲染场景。除非useDefaultRenderLoop设置为false,否则将自动调用此函数;
resize()
更新画布大小、相机纵横比和视区大小。除非useDefaultRenderLoop设置为false,否则将根据需要自动调用此函数。
showErrorPanel(title, message, error)
向用户显示包含标题和较长错误消息的错误面板,可以使用“确定”按钮取消显示。如果在构建小部件时ShowRenderLoopErrors不是false,则在发生渲染循环错误时自动显示此面板。
Parameters:
title (String) 要在错误面板上显示的标题。此字符串被解释为文本。
message (String) 在详细的错误信息之前显示一条有用的、面向用户的消息。此字符串被解释为HTML。
error (String) 将在错误面板上显示的错误。此字符串使用formatError格式化,然后显示为文本。