Class: Widget

Widget

new Widget(container)

包含 SuperMap3D 场景的部件。

Name Type Default Description
container Element | String

包含 widget 的 DOM 元素或 ID。

options.clock Clock new Clock() 可选

用于控制当前时间的时钟。

options.imageryProvider ImageryProvider new BingMapsImageryProvider() 可选

作为基础图层的影像provider。如果设置为 false,则不会添加影像provider。

options.terrainProvider TerrainProvider new EllipsoidTerrainProvider 可选

地形provider。

options.skyBox SkyBox 可选

用于渲染星星的天空盒。 如果未定义,则使用默认的星星。如果设置为 false,则不会添加天空盒、太阳或月亮。

options.skyAtmosphere SkyAtmosphere 可选

蓝天和地球边缘的光晕效果。设置为false可将其关闭。

options.sceneMode SceneMode SceneMode.SCENE3D 可选

初始场景模式。

options.scene3DOnly Boolean false 可选

为true时,每个几何体实例将只以三维呈现,以节省GPU内存。

options.orderIndependentTranslucency Boolean true 可选

如果为true且配置支持,则使用与顺序无关的半透明效果。

options.mapProjection MapProjection new GeographicProjection() 可选

在二维和哥伦布视图模式下使用的地图投影。

options.globe Globe new Globe(mapProjection.ellipsoid) 可选

场景中要使用的地球。如果设置为 false,则不会添加地球。

options.useDefaultRenderLoop Boolean true 可选

如果此widget控制渲染循环,则为 true,否则为 false。

options.targetFrameRate Number 可选

使用默认渲染循环时的目标帧频。

options.showRenderLoopErrors Boolean true 可选

如果为true,在出现呈现循环错误时,此 widget 将自动向用户显示包含错误信息的 HTML 面板。

options.contextOptions Object 可选

与传递给 Scene 的选项相对应的上下文和 WebGL 创建属性。

options.creditContainer Element | String 可选

包含 CreditDisplay 的 DOM 元素或 ID。如果未指定,将添加到 widget 本身的底部。

options.terrainExaggeration Number 1.0 可选

用于地形夸张的标量。请注意,地形夸张不会修改任何其他基元,因为它们是相对于椭球体定位的。

options.shadows Boolean false 可选

确定太阳是否投射阴影。

options.terrainShadows Boolean false 可选

确定地形是否会投射太阳阴影。

options.mapMode2D MapMode2D MapMode2D.INFINITE_SCROLL 可选

确定二维地图是否可以旋转或在水平方向上无限滚动。

Throws:

文档中不存在id为container的元素。

Type
DeveloperError
Example
// For each example, include a link to Widget.css stylesheet in HTML head,
// and in the body, include: 
//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

readonly cameraCamera

获取相机。

canvasCanvas

获取画布。

clockClock

获取时钟。

containerElement

获取父容器。

creditContainerElement

获取版权声明容器。

creditViewportElement

Gets the credit viewport

errorListenerEventObject

获取监听崩溃错误事件。

readonly imageryLayersImageryLayerCollection

获取将在地球上渲染的影像层集合。

resolutionScaleNumber

获取或设置渲染分辨率的缩放因子。 小于 1.0 的值可以提高功能较弱设备的性能,而大于 1.0 的值将以更高分辨率渲染,然后再缩小,从而提高视觉保真度。 例如,如果窗口小部件的尺寸为 640x480,将此值设置为 0.5 将使场景以 320x240 渲染,然后再按比例放大,而设置为 2.0 将使场景以 1280x960 渲染,然后再按比例缩小。

Default Value:
1.0

sceneScene

获取场景。

screenSpaceEventHandlerScreenSpaceEventHandler

获取屏幕空间事件处理器。

setErrorPanelIsShowBoolean

获取或设置崩溃日志是否显示。

targetFrameRateNumber

当 useDefaultRenderLoop 为true时,获取或设置widget的目标帧频。 如果未定义,则由浏览器的requestAnimationFrame 实现决定帧频。 如果已定义,该值必须大于0,高于底层 requestAnimationFrame 实现的值不会有任何影响。

terrainProviderTerrainProvider

获取地形provider为地球表面提供的几何体。

useBrowserRecommendedResolutionBoolean

布尔标志,表示是否使用浏览器推荐的分辨率。 如果为true,浏览器的设备像素比将被忽略,并使用 1.0 代替,从而有效地根据 CSS 像素而不是设备像素进行渲染。 这可以提高像素密度较高但性能较弱的设备的性能。 当设置为false时,将以设备像素进行渲染。 无论此标志为true或者false,Widget#resolutionScale 依然有效。

Default Value:
false

useDefaultRenderLoopBoolean

如果设置为true,该窗口小部件将使用 requestAnimationFrame 来执行窗口小部件的渲染和大小调整,并驱动模拟时钟。 如果设置为false,则必须在自定义渲染循环中手动调用调整大小和渲染方法。 如果在渲染过程中出现错误,Scene 的 renderError 事件将被触发,此属性也将被设置为 false。 出错后,必须将该属性设置为 true 才能继续渲染。

Methods

destroy()

销毁部件。

isDestroyed(){Boolean}

Returns:
Type Description
Boolean 如果对象已被销毁,则为 true,否则为 false。

render()

渲染场景。 除非将 useDefaultRenderLoop 设置为 false,否则此函数会自动调用。

resize()

更新画布尺寸、相机宽高比和视口尺寸。 除非将 useDefaultRenderLoop 设为 false,否则该函数会在需要时自动调用。

showErrorPanel(title, message, error)

向用户显示一个包含标题和较长错误信息的错误面板,用户可以使用确定按钮取消该面板。 如果在创建 widget 时 showRenderLoopErrors 不是 false,那么当出现渲染循环错误时,该面板就会自动显示。

Name Type Description
title String

显示在错误面板上的标题。该字符串被解释为文本。

message String

在详细错误信息之前显示的面向用户的有用信息。该字符串可解释为 HTML。

error String 可选

将显示在错误面板上的错误。该字符串将使用 formatError 格式化,然后以文本形式显示。