包含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
|
与传递给Scene 的options 对应的上下文和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
-
DeveloperError : 文档中不存在ID为“container”的元素。
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,则必须手动调用resize
,render
方法作为自定义呈现循环的一部分。如果在渲染过程中发生错误,将引发Scene
srenderError
事件,并将此属性设置为false。必须将其设置回“真”才能在出错后继续呈现。
Methods
destroy()
销毁小部件。如果从布局中永久删除小部件,则应调用。
渲染场景。除非
useDefaultRenderLoop
设置为false,否则将自动调用此函数;
更新画布大小、相机纵横比和视区大小。除非
useDefaultRenderLoop
设置为false,否则将根据需要自动调用此函数。
向用户显示包含标题和较长错误消息的错误面板,可以使用“确定”按钮取消显示。如果在构建小部件时ShowRenderLoopErrors不是false,则在发生渲染循环错误时自动显示此面板。
Parameters:
title
(String)
要在错误面板上显示的标题。此字符串被解释为文本。
message
(String)
在详细的错误信息之前显示一条有用的、面向用户的消息。此字符串被解释为HTML。
error
(String)
将在错误面板上显示的错误。此字符串使用formatError
格式化,然后显示为文本。