包含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
格式化,然后顯示為文本。