包含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,設(shè)置為false 將不會加載地形圖。
|
options.terrainId
String
|
地形數(shù)據(jù)ID. |
options.skyBox
SkyBox
|
用來渲染星星的天盒。當undefined 時,使用默認星。如果設(shè)置為false ,則不會添加Skybox、Sun或Moon。
|
options.skyAtmosphere
SkyAtmosphere
|
蔚藍的天空,以及環(huán)繞地球邊緣的光芒。設(shè)置為false 關(guān)閉。
|
options.sceneMode
SceneMode
default SceneMode.SCENE3D
|
初始場景模式。 |
options.scene3DOnly
Boolean
default false
|
當true 時,每個幾何體實例將僅在3D中渲染以保存GPU內(nèi)存。
|
options.orderIndependentTranslucency
Boolean
default true
|
如果為true,并且配置支持它,則使用與順序無關(guān)的半透明。 |
options.mapProjection
MapProjection
default new GeographicProjection()
|
要在二維和哥倫布視圖模式中使用的地圖投影。 |
options.globe
Globe
default new Globe(mapProjection.ellipsoid)
|
在場景中使用的球體。如果設(shè)置為false ,則不會添加地球儀。
|
options.useDefaultRenderLoop
Boolean
default true
|
如果此小部件應(yīng)控制呈現(xiàn)循環(huán),則為true,否則為false。 |
options.useBrowserRecommendedResolution
Boolean
default false
|
如果為真,則以瀏覽器建議的分辨率呈現(xiàn),并忽略window.devicePixelRatio 。
|
options.targetFrameRate
Number
|
使用默認渲染循環(huán)時的目標幀速率。 |
options.showRenderLoopErrors
Boolean
default true
|
如果為true,則如果出現(xiàn)呈現(xiàn)循環(huán)錯誤,此小部件將自動向包含錯誤的用戶顯示HTML面板。 |
options.contextOptions
Object
|
與傳遞給Scene 的options 對應(yīng)的上下文和WebGL創(chuàng)建屬性。
|
options.creditContainer
(Element | String)
|
將包含CreditDisplay 的DOM元素或ID。如果沒有指定,那么將把學(xué)分添加到小部件本身的底部。
|
options.creditViewport
(Element | String)
|
包含由CreditDisplay 創(chuàng)建的貸項彈出窗口的DOM元素或ID。如果沒有指定,它將出現(xiàn)在小部件本身上。
|
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
|
確定二維地圖是可旋轉(zhuǎn)的還是可以沿水平方向無限滾動。 |
options.requestRenderMode
Boolean
default false
|
如果為“真”,則僅在場景中的更改決定需要時才會渲染幀。啟用可以提高應(yīng)用程序的性能,但需要使用Scene#requestRender 在此模式下顯式呈現(xiàn)新幀。在許多情況下,在對API其他部分中的場景進行更改之后,這是必需的。
|
options.maximumRenderTimeChange
Number
default 0.0
|
如果requestrendermode為true,則此值定義請求呈現(xiàn)之前允許的模擬時間的最大更改。 |
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
獲取“信用”視區(qū)
(readonly) imageryLayers : ImageryLayerCollection
獲取將在地球儀上呈現(xiàn)的圖像層的集合。
resolutionScale : Number
獲取或設(shè)置用于呈現(xiàn)分辨率的比例因子。小于1.0的值可以在功能較弱的設(shè)備上提高性能,而大于1.0的值將以更高的分辨率呈現(xiàn),然后縮小比例,從而提高視覺逼真度。例如,如果小部件的尺寸為640x480,則將此值設(shè)置為0.5將導(dǎo)致場景在320x240處渲染,然后在將其設(shè)置為2.0時放大,將導(dǎo)致場景在1280x960處渲染,然后縮小。
-
Default Value:
1.0
scene : Scene
獲取場景。
screenSpaceEventHandler : ScreenSpaceEventHandler
獲取屏幕空間事件處理程序。
targetFrameRate : Number
獲取或設(shè)置當
useDefaultRenderLoop
為真時小部件的目標幀速率。如果未定義,瀏覽器的requestAnimationFrame
實現(xiàn)將確定幀速率。如果已定義,則此值必須大于0。高于基礎(chǔ)RequestAnimationFrame實現(xiàn)的值將無效。
terrainProvider : TerrainProvider
地形提供者為地球儀提供表面幾何圖形。
useBrowserRecommendedResolution : Boolean
指示是否使用瀏覽器建議的分辨率的布爾標志。如果為真,則忽略瀏覽器的設(shè)備像素比,改用1.0,從而有效地基于CSS像素而不是設(shè)備像素進行渲染。這可以提高在像素密度較低的設(shè)備上的性能。如果為false,則渲染將以設(shè)備像素為單位。
BMWidget#resolutionScale
無論此標志是對還是錯,仍將生效。
-
Default Value:
false
useDefaultRenderLoop : Boolean
獲取或設(shè)置此小部件是否應(yīng)控制呈現(xiàn)循環(huán)。如果設(shè)置為真,小部件將使用
requestAnimationFrame
執(zhí)行小部件的渲染和大小調(diào)整,并驅(qū)動模擬時鐘。如果設(shè)置為false,則必須手動調(diào)用resize
,render
方法作為自定義呈現(xiàn)循環(huán)的一部分。如果在渲染過程中發(fā)生錯誤,將引發(fā)Scene
srenderError
事件,并將此屬性設(shè)置為false。必須將其設(shè)置回“真”才能在出錯后繼續(xù)呈現(xiàn)。
Methods
destroy()
銷毀小部件。如果從布局中永久刪除小部件,則應(yīng)調(diào)用。
渲染場景。除非
useDefaultRenderLoop
設(shè)置為false,否則將自動調(diào)用此函數(shù);
更新畫布大小、相機縱橫比和視區(qū)大小。除非
useDefaultRenderLoop
設(shè)置為false,否則將根據(jù)需要自動調(diào)用此函數(shù)。
向用戶顯示包含標題和較長錯誤消息的錯誤面板,可以使用“確定”按鈕取消顯示。如果在構(gòu)建小部件時ShowRenderLoopErrors不是false,則在發(fā)生渲染循環(huán)錯誤時自動顯示此面板。
Parameters:
title
(String)
要在錯誤面板上顯示的標題。此字符串被解釋為文本。
message
(String)
在詳細的錯誤信息之前顯示一條有用的、面向用戶的消息。此字符串被解釋為HTML。
error
(String)
將在錯誤面板上顯示的錯誤。此字符串使用formatError
格式化,然后顯示為文本。