DynamicLayer3D

new Cesium.DynamicLayer3D(context, urls)

动态图层,一个动态图层可以包含多种类型的模型,每种模型又能包含多个实例,每个实例以一定刷新间隔更新状态信息DynamicObjectState,从而达到动态效果。
Name Type Description
context Context webgl context对象。
urls Array 模型url数组。
Example:
var uls = ['model1.s3m','model2.s3m'];
var layer = new DynamicLayer3D(context,urls);
scene.primitives.add(layer);

Members

enableLocalOffset : boolean

设置是否支持模型局部偏移(模型自带偏移矩阵)。

readonlygroup : Object

获取动态图层的所有模型分组集合{url:object}。

maxVisibleAltitude : Number

获取或者设置动态图层的最大可见高度。

readonlytype : String

获取该图层类型标识。

updateInterval : Number

获取或者设置动态图层的刷新间隔时间,单位ms。

visible : Boolean

获取或者设置动态图层的可见性。

Methods

clear(url, id)

根据模型url和动态实例ID,清除该类型模型指定ID的动态实例的状态信息,下次更新状态之前,该实例不被渲染。
Name Type Description
url String 模型url。
id String | Number 动态实例ID。
Example:
layer.clear('ship.s3m',1);

clearAll()

清除该动态图层所有动态实例对象的状态信息,在下次更新状态之前,所有动态实例都不被渲染。
Example:
layer.clearAll();

destroy()undefined

释放webgl资源。

一旦释放对象资源, 它将不能被使用;调用任何方法将会抛出DeveloperError异常。

Returns:
Example:
layer = layer && layer.destroy();
See:
  • DynamicLayer3D#isDestroyed

setPickEnable(url, enable)

根据动态图层的url设置url对应的模型实例是否可选。
Name Type Description
url String 动态图层的url。
enable Boolean 其值为true时可选,为false时不可选。

setUnSelected()

取消所有实例的选中状态

setVisibleByUrl(modelUrl, isVisible)

根据url设置该图层下指定模型类型的所有实例的可见性。
Name Type Description
modelUrl String 模型url(指定模型类型)。
isVisible Boolean 是否可见。
Example:
//设置model.s3m类型的所有实例不可见。
layer.setVisibleByUrl('model.s3m',false);

updateObjectWithModel(url, arrStates)

根据指定模型类型(url)更新对象状态信息。
Name Type Description
url String 模型类型url。
arrStates Array 状态信息(DynamicObjectState)数组。
Example:
//更新model.s3m类型实例的状态信息
var states = [];
states.push(new DynamicObjectState({id : 1,longitude : 100,latitude : 10}));
states.push(new DynamicObjectState({id : 2,longitude : 101,latitude : 11}));
layer.updateObjectWithModel('model.s3m',states);
See: