一个处理 Keyhole 标记语言 2.2 (KML) 的
DataSource。
Cesium 中的 KML 支持不完整,但标准的大部分内容,
以及 Google 的 gx 扩展命名空间都受支持。请参阅 Github 问题
#873 以获取
关于支持和不支持内容的详细列表。Cesium 在遇到大多数不支持的功能时也会向控制台写入信息。
非视觉特征数据,如 atom:author 和 ExtendedData
通过添加到每个 Entity 下的 KmlFeatureData 实例公开,
属性为 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
此画布的当前尺寸将用于填充链接参数
的客户端高度和宽度。
changedEvent : Event
获取当基础数据更改时将触发的事件。
获取加载的 KML 定义的时钟设置。这表示所有时间动态数据的总可用时间间隔。
如果 KML 不包含时间动态数据,则此值为 undefined。
获取或设置此数据源的聚合选项。此对象可以在多个数据源之间共享。
获取将为数据源显示的版权信息
获取
Entity 实例的集合。
errorEvent : Event
获取当数据源遇到错误时将触发的事件。
获取一个值,指示数据源当前是否正在加载数据。
kmlTours : Array.<KmlTour>
获取用于在指定时间间隔内引导相机到指定目的地的 KML 游览。
loadingEvent : Event
获取当数据源开始或停止加载时将触发的事件。
获取或设置此实例的可读名称。
加载时会自动设置为 KML 文档名称。
refreshEvent : Event
获取当数据源刷新网络链接时将触发的事件。
获取或设置此数据源是否应被显示。
unsupportedNodeEvent : Event
获取当数据源发现不支持的节点类型时将触发的事件。
Methods
static Cesium.KmlDataSource.load(data, options) → Promise.<KmlDataSource>
异步加载提供的 KML 数据,替换任何现有数据。
| Name | Type | Description |
|---|---|---|
data |
Resource | string | Document | Blob | 一个 url、已解析的 KML 文档或包含二进制 KMZ 数据的 Blob 或已解析的 KML 文档。 |
options |
KmlDataSource.LoadOptions | optional 指定配置选项的对象 |
Returns:
一旦 KML 加载完成,将解析到此实例的 promise。
清理数据源创建的任何非实体元素。目前这仅影响 ScreenOverlay 元素。
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:
一旦 KML 加载完成,将解析为新 KmlDataSource 实例的 promise。
Updates any NetworkLink that require updating.
| Name | Type | Description |
|---|---|---|
time |
JulianDate | The simulation time. |
Returns:
True if this data source is ready to be displayed at the provided time, false otherwise.
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> |
用于 ScreenOverlay 图像的容器。 |
