包含 SuperMap3D 场景的部件。
Name | Type | Default | Description |
---|---|---|---|
options |
Object | optional 具有以下属性的对象: | |
container |
Element | String | 包含 widget 的 DOM 元素或 ID。 | |
options.clock |
Clock |
new Clock()
|
optional 用于控制当前时间的时钟。 |
options.imageryProvider |
ImageryProvider |
new BingMapsImageryProvider()
|
optional 作为基础图层的影像provider。如果设置为 false,则不会添加影像provider。 |
options.terrainProvider |
TerrainProvider |
new EllipsoidTerrainProvider
|
optional 地形provider。 |
options.skyBox |
SkyBox | optional 用于渲染星星的天空盒。 如果未定义,则使用默认的星星。如果设置为 false,则不会添加天空盒、太阳或月亮。 | |
options.skyAtmosphere |
SkyAtmosphere | optional 蓝天和地球边缘的光晕效果。设置为false可将其关闭。 | |
options.sceneMode |
SceneMode |
SceneMode.SCENE3D
|
optional 初始场景模式。 |
options.scene3DOnly |
Boolean |
false
|
optional 为true时,每个几何体实例将只以三维呈现,以节省GPU内存。 |
options.orderIndependentTranslucency |
Boolean |
true
|
optional 如果为true且配置支持,则使用与顺序无关的半透明效果。 |
options.mapProjection |
MapProjection |
new GeographicProjection()
|
optional 在二维和哥伦布视图模式下使用的地图投影。 |
options.globe |
Globe |
new Globe(mapProjection.ellipsoid)
|
optional 场景中要使用的地球。如果设置为 false,则不会添加地球。 |
options.useDefaultRenderLoop |
Boolean |
true
|
optional 如果此widget控制渲染循环,则为 true,否则为 false。 |
options.targetFrameRate |
Number | optional 使用默认渲染循环时的目标帧频。 | |
options.showRenderLoopErrors |
Boolean |
true
|
optional 如果为true,在出现呈现循环错误时,此 widget 将自动向用户显示包含错误信息的 HTML 面板。 |
options.contextOptions |
Object |
optional
与传递给 Scene 的选项相对应的上下文和 WebGL 创建属性。 |
|
options.creditContainer |
Element | String |
optional
包含 CreditDisplay 的 DOM 元素或 ID。如果未指定,将添加到 widget 本身的底部。 |
|
options.terrainExaggeration |
Number |
1.0
|
optional 用于地形夸张的标量。请注意,地形夸张不会修改任何其他基元,因为它们是相对于椭球体定位的。 |
options.shadows |
Boolean |
false
|
optional 确定太阳是否投射阴影。 |
options.terrainShadows |
Boolean |
false
|
optional 确定地形是否会投射太阳阴影。 |
options.mapMode2D |
MapMode2D |
MapMode2D.INFINITE_SCROLL
|
optional 确定二维地图是否可以旋转或在水平方向上无限滚动。 |
Throws:
-
DeveloperError : 文档中不存在id为container的元素。
Example:
// For each example, include a link to Widget.css stylesheet in HTML head,
// and in the body, include: <div id="Container"></div>
//Widget with no terrain and default Bing Maps imagery provider.
var widget = new SuperMap3D.Widget('Container');
//Widget with OpenStreetMaps imagery provider and SuperMap3D terrain provider hosted by AGI.
var widget = new SuperMap3D.Widget('Container', {
imageryProvider : SuperMap3D.createOpenStreetMapImageryProvider(),
terrainProvider : new SuperMap3D.SuperMapTerrainProvider({
url : 'https://assets.agi.com/stk-terrain/v1/tilesets/world/tiles'
}),
skyBox : new SuperMap3D.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
sceneMode : SuperMap3D.SceneMode.COLUMBUS_VIEW,
mapProjection : new SuperMap3D.WebMercatorProjection()
});
Members
-
readonlycamera : Camera
-
获取相机。
-
获取画布。
-
clock : Clock
-
获取时钟。
-
获取父容器。
-
获取凭证容器。
-
获取监听崩溃错误事件。
-
readonlyimageryLayers : ImageryLayerCollection
-
获取将在地球上渲染的影像层集合。
-
获取或设置渲染分辨率的缩放因子。 小于 1.0 的值可以提高功能较弱设备的性能,而大于 1.0 的值将以更高分辨率渲染,然后再缩小,从而提高视觉保真度。 例如,如果窗口小部件的尺寸为 640x480,将此值设置为 0.5 将使场景以 320x240 渲染,然后再按比例放大,而设置为 2.0 将使场景以 1280x960 渲染,然后再按比例缩小。
-
Default Value:
1.0
-
scene : Scene
-
获取场景。
-
screenSpaceEventHandler : ScreenSpaceEventHandler
-
获取屏幕空间事件处理器。
-
获取或设置崩溃日志是否显示。
-
当 useDefaultRenderLoop 为true时,获取或设置widget的目标帧频。 如果未定义,则由浏览器的
requestAnimationFrame
实现决定帧频。 如果已定义,该值必须大于0,高于底层 requestAnimationFrame 实现的值不会有任何影响。 -
terrainProvider : TerrainProvider
-
获取地形provider为地球表面提供的几何体。
-
布尔标志,表示是否使用浏览器推荐的分辨率。 如果为true,浏览器的设备像素比将被忽略,并使用 1.0 代替,从而有效地根据 CSS 像素而不是设备像素进行渲染。 这可以提高像素密度较高但性能较弱的设备的性能。 当设置为false时,将以设备像素进行渲染。 无论此标志为true或者false,
Widget#resolutionScale
依然有效。-
Default Value:
false
-
如果设置为true,该窗口小部件将使用
requestAnimationFrame
来执行窗口小部件的渲染和大小调整,并驱动模拟时钟。 如果设置为false,则必须在自定义渲染循环中手动调用调整大小和渲染方法。 如果在渲染过程中出现错误,Scene
的 renderError 事件将被触发,此属性也将被设置为 false。 出错后,必须将该属性设置为 true 才能继续渲染。
Methods
-
销毁部件。
-
Returns:
如果对象已被销毁,则为 true,否则为 false。 -
渲染场景。 除非将 useDefaultRenderLoop 设置为 false,否则此函数会自动调用。
-
更新画布尺寸、相机宽高比和视口尺寸。 除非将 useDefaultRenderLoop 设为 false,否则该函数会在需要时自动调用。
-
向用户显示一个包含标题和较长错误信息的错误面板,用户可以使用确定按钮取消该面板。 如果在创建 widget 时 showRenderLoopErrors 不是 false,那么当出现渲染循环错误时,该面板就会自动显示。
Name Type Description title
String 显示在错误面板上的标题。该字符串被解释为文本。 message
String 在详细错误信息之前显示的面向用户的有用信息。该字符串可解释为 HTML。 error
String optional 将显示在错误面板上的错误。该字符串将使用 formatError
格式化,然后以文本形式显示。