一个处理 Keyhole Markup Language 2.2 (KML) 的
DataSource。
Cesium 对 KML 的支持并不完整,但支持标准的大部分内容,以及 Google 的 gx 扩展命名空间。有关支持和不支持的详细列表,请参见 Github 问题 #873。当 Cesium 遇到大多数不支持的特性时,也会向控制台写入信息。
非视觉特征数据,例如 atom:author 和 ExtendedData,通过 KmlFeatureData 的实例公开,该实例添加到每个 Entity 的 kml 属性下。
| Name | Type | Description |
|---|---|---|
options |
KmlDataSource.ConstructorOptions | optional 描述初始化选项的对象 |
Example:
const viewer = new Cesium.Viewer('cesiumContainer');
viewer.dataSources.add(Cesium.KmlDataSource.load('../../SampleData/facilities.kmz',
{
camera: viewer.scene.camera,
canvas: viewer.scene.canvas
})
);
Demo:
See:
Members
camera : Camera|undefined
当前 Canvas 的大小将用于填充链接参数中的客户端高度和宽度。
changedEvent : Event
获取一个事件,当底层数据发生更改时将会引发此事件。
获取由加载的 KML 定义的时钟设置。这表示所有时间动态数据的总可用间隔。
如果 KML 不包含时间动态数据,则该值为未定义。
获取或设置此数据源的聚合选项。此对象可以在多个数据源之间共享。
获取将为数据源显示的信用信息。
获取
Entity 实例的集合。
errorEvent : Event
获取一个事件,如果在处理过程中遇到错误,将会引发此事件。
获取一个值,指示数据源是否正在加载数据。
kmlTours : Array.<KmlTour>
获取用于指导摄像机到达指定目的地并在给定时间间隔内进行移动的 KML 旅行。
loadingEvent : Event
获取一个事件,当数据源开始或停止加载时将会引发此事件。
获取或设置此实例的人类可读名称。
此名称将在加载时自动设置为 KML 文档名称。
refreshEvent : Event
获取一个事件,当数据源刷新网络链接时将会引发此事件。
获取此数据源是否应该被显示。
unsupportedNodeEvent : Event
获取一个事件,当数据源找到不支持的节点类型时将会引发此事件。
Methods
static Cesium.KmlDataSource.load(data, options) → Promise.<KmlDataSource>
创建一个 Promise,用于加载提供的 KML 数据的新实例。
| Name | Type | Description |
|---|---|---|
data |
Resource | string | Document | Blob | 一个 URL、解析后的 KML 文档或包含二进制 KMZ 数据的 Blob,或解析后的 KML 文档。 |
options |
KmlDataSource.ConstructorOptions | optional 一个指定配置选项的对象。 |
Returns:
一个 promise,将在 KML 加载完成后解析为一个新的 KmlDataSource 实例。
清理由数据源创建的任何非实体元素。目前这仅影响 ScreenOverlay 元素。
load(data, options) → Promise.<KmlDataSource>
异步加载提供的 KML 数据,替换任何现有数据。
| Name | Type | Description |
|---|---|---|
data |
Resource | string | Document | Blob | 一个 URL、解析后的 KML 文档或包含二进制 KMZ 数据的 Blob,或解析后的 KML 文档。 |
options |
KmlDataSource.LoadOptions | optional 一个指定配置选项的对象。 |
Returns:
一个 promise,将在 KML 加载完成后解析为此实例。
更新任何需要更新的 NetworkLink。
| Name | Type | Description |
|---|---|---|
time |
JulianDate | 模拟时间。 |
Returns:
如果此数据源在提供的时间准备好显示,则返回 true,否则返回 false。
Type Definitions
构造新的 KmlDataSource 或调用静态 `load` 方法的选项。
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
camera |
Camera |
<optional> |
用于 viewRefreshModes 和将摄像机属性发送到网络链接的摄像机。 | |
canvas |
HTMLCanvasElement |
<optional> |
用于将查看器属性发送到网络链接的画布。 | |
credit |
Credit | string |
<optional> |
数据源的信用,在画布上显示。 | |
sourceUri |
string |
<optional> |
覆盖用于解析相对链接和其他 KML 网络功能的 URL。 | |
clampToGround |
boolean |
<optional> |
false | 如果我们希望将几何特征(多边形、线串和线环)限制在地面上,则为 true。 |
ellipsoid |
Ellipsoid |
<optional> |
Ellipsoid.default | 用于地理计算的全局椭球体。 |
screenOverlayContainer |
Element | string |
<optional> |
用于 ScreenOverlay 图像的容器。 |
`load` 方法的初始化选项。
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
sourceUri |
string |
<optional> |
覆盖用于解析相对链接和其他 KML 网络特征的 URL。 | |
clampToGround |
boolean |
<optional> |
false | 如果要将几何特征(多边形、线串和线环)固定在地面上,则为 true。 |
ellipsoid |
Ellipsoid |
<optional> |
Ellipsoid.default | 用于地理计算的全局椭球体。 |
screenOverlayContainer |
Element | string |
<optional> |
用于屏幕覆盖图像的容器。 |
