KmlDataSource

A DataSource which processes Keyhole Markup Language 2.2 (KML).

KML support in Cesium is incomplete, but a large amount of the standard, as well as Google's gx extension namespace, is supported. See Github issue #873 for a detailed list of what is and isn't supported. Cesium will also write information to the console when it encounters most unsupported features.

Non visual feature data, such as atom:author and ExtendedData is exposed via an instance of KmlFeatureData, which is added to each Entity under the kml property.

new Cesium.KmlDataSource(options)

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 的位置和朝向将用于在发起网络请求时填充各种相机参数。 如果 viewRefreshModeonStop,相机的移动将决定何时触发 NetworkLink 刷新。

canvas : HTMLCanvasElement|undefined

此 Canvas 的当前大小将用于填充 Link 参数中的客户端高度和宽度。
获取当底层数据发生变化时将引发的事件。
获取由已加载 KML 定义的时钟设置。这表示所有时间动态数据的总可用区间。如果 KML 不包含时间动态数据,则此值为 undefined。
获取或设置此数据源的聚合(clustering)选项。该对象可以在多个数据源之间共享。
获取将为该数据源显示的版权信息
获取 Entity 实例的集合。
获取在处理过程中遇到错误时将引发的事件。
获取一个指示数据源当前是否正在加载数据的值。
获取用于在给定的时间间隔内引导相机前往指定目的地的 KML 游览(Tours)。
获取当数据源开始或停止加载时将引发的事件。
获取或设置此实例的一个人类可读的名称。 在加载时,该名称会自动被设为 KML 文档名称。
获取当数据源刷新网络链接时将引发的事件。
获取一个指示是否应显示此数据源的值。
获取当数据源发现不支持的节点类型时将引发的事件。

Methods

static Cesium.KmlDataSource.load(data, options)Promise.<KmlDataSource>

创建一个解析为加载了所提供 KML 数据的新实例的 Promise。
Name Type Description
data Resource | string | Document | Blob 一个 url、已解析的 KML 文档,或包含二进制 KMZ 数据或已解析 KML 文档的 Blob。
options KmlDataSource.ConstructorOptions optional 指定配置选项的对象
Returns:
一个在 KML 加载完成后将解析为新的 KmlDataSource 实例的 promise。
清理数据源创建的任何非实体元素。目前这仅影响 ScreenOverlay 元素。
异步加载所提供的 KML 数据,替换任何现有数据。
Name Type Description
data Resource | string | Document | Blob 一个 url、已解析的 KML 文档,或包含二进制 KMZ 数据或已解析 KML 文档的 Blob。
options KmlDataSource.LoadOptions optional 指定配置选项的对象
Returns:
一个在 KML 加载完成后将解析为此实例的 promise。
更新任何需要更新的 NetworkLink。
Name Type Description
time JulianDate 模拟时间。
Returns:
如果此数据源已准备好在所提供的时刻显示则为 true,否则为 false。

Type Definitions

Cesium.KmlDataSource.ConstructorOptions

用于构造新的 KmlDataSource 或调用静态 `load` 方法的选项。
Properties:
Name Type Attributes Default Description
camera Camera <optional>
用于 viewRefreshModes 以及向网络链接发送相机属性的相机。
canvas HTMLCanvasElement <optional>
用于向网络链接发送查看器属性的 canvas。
credit Credit | string <optional>
数据源的版权信息,显示在 canvas 上。
sourceUri string <optional>
覆盖用于解析相对链接及其他 KML 网络功能的 url。
clampToGround boolean <optional>
false 如果希望将几何要素(Polygons、LineStrings 和 LinearRings)贴地,则为 true。
ellipsoid Ellipsoid <optional>
Ellipsoid.default 用于地理计算的全局椭球。
screenOverlayContainer Element | string <optional>
用于存放 ScreenOverlay 图像的容器。

Cesium.KmlDataSource.LoadOptions

`load` 方法的初始化选项。
Properties:
Name Type Attributes Default Description
sourceUri string <optional>
覆盖用于解析相对链接及其他 KML 网络功能的 url。
clampToGround boolean <optional>
false 如果希望将几何要素(Polygons、LineStrings 和 LinearRings)贴地,则为 true。
ellipsoid Ellipsoid <optional>
Ellipsoid.default 用于地理计算的全局椭球。
screenOverlayContainer Element | string <optional>
用于存放 ScreenOverlay 图像的容器。
需要帮助?获取答案的最快方式是在 Cesium 论坛 上向社区和团队提问。