new Cesium.KmlDataSource(options)
DataSource
,用于加载KML。
Cesium中的KML支持是不完整的,但是支持大量的标准,以及谷歌的gx
扩展密码空间。
请参见Github发布的#873,以获取支持与不支持的详细列表。
当遇到大多数不受支持的特性时,Cesium也会将信息写入控制台。
非可视要素(visual feature)数据,如atom:author
和ExtendedData
通过一个KmlFeatureData
的实例公开,
该实例在kml
属性下添加到每个Entity
。
Name | Type | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
此对象拥有以下属性:
|
示例:
var viewer = new Cesium.Viewer('cesiumContainer');
viewer.dataSources.add(Cesium.KmlDataSource.load('../../SampleData/facilities.kmz',
{
camera: viewer.scene.camera,
canvas: viewer.scene.canvas
})
);
演示Demo:
参考:
成员变量
changedEvent : Event
获取将在基础数据更改时引发的事件。
获取由加载的KML定义的时钟设置。这表示所有时间动态数据的总可用时间间隔。
如果KML不包含时间动态数据,则此值未定义。
clustering : EntityCluster
设置/获取此数据源的聚类选项。该对象可以在多个数据源之间共享。
credit : Credit
获取将显示为数据源的版权。
获取
Entity
实例集合。
errorEvent : Event
获取在处理过程中遇到错误时将引发的事件。
isLoading : Boolean
获取数据源当前是否正在加载数据。
loadingEvent : Event
获取将在数据源启动或停止加载时引发的事件。
name : String
设置/获取此实例的可读名称。
加载时,该名称将自动设置为KML文档名称。
refreshEvent : Event
获取将在数据源刷新网络链接时引发的事件。
show : Boolean
获取是否应显示此数据源。
unsupportedNodeEvent : Event
当读取到不支持的节点类型时引发该事件。
内置方法
根据提供的KML数据,创建加载数据的新实例。
Name | Type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data |
Resource | String | Document | Blob | URL,包含二进制KMZ数据的URL,已解析的KML文档或Blob或已解析的KML文档。 | ||||||||||||||||||||||||||||
options |
Object |
此对象拥有以下属性:
|
返回值:
一旦KML加载完成,将解析到一个新的KmlDataSource实例的一个promise。
异步加载提供的KML数据,替换任何现有数据。
Name | Type | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data |
Resource | String | Document | Blob | URL,解析KML文档或包含二进制KMZ数据Blob或已解析的KML文档。 | ||||||||||||||||
options |
Object |
optional
此对象拥有以下属性:
|
返回值:
一个promise,它将在KML加载后解析到这个实例。
更新所有需要更新的网络连接。
Name | Type | Description |
---|---|---|
time |
JulianDate | 时间。 |
返回值:
如果此数据源准备在提供的时间显示,则为true,否则为false。