## KML 数据加载 ### 示例功能     本示例实现在三维场景中添加 KML 数据。 > 什么是 KML?     KML(Keyhole Markup Language,Keyhole 标记语言)是由 Google 旗下的 Keyhole 公司开发和维护的一种基于 XML 的标记语言,可用于描述和保存地理空间信息(如点、线、面、图像、模型等),适合网络环境下的地理信息协作与共享。KML 在 2008 年 4 月被 OGC(开放地理信息系统协会)宣布成为开放地理信息编码标准。KML 是纯粹的 xml 文本格式,两者之间最大的区别就在于 KML 描述的是地理信息数据。 KML 百科介绍 ### 示例实现     本示例需要使用【include-cesium-local.js】开发库实现,关键接口为`CesiumZondy.Manager.CommonDataManager`类提供的`appendKml()`方法,实现 KML 数据的加载;对应可通过`removeDataSource()`方法移除。 > 开发库使用请参见*首页-概述-原生 JS 调用*内容。 ### 实现步骤 **Step 1. 引用开发库**:     本示例引用 local 本地【include-cesium-local.js】开发库,完成此步骤后才可调用三维 WebGL 的功能; **Step 2. 创建布局**:     创建三维视图 Div 容器,构造三维场景控件 WebSceneControl,构造并设置鼠标位置信息显示控件,加载 Google 地图作为底图显示; **Step 3. 添加 KML 数据**:     首先构造`CesiumZondy.Manager.CommonDataManager`通用数据管理对象,然后调用`appendKml()`方法,传入 KML 文件地址,即可实现 KML 数据的加载,在此以本地文件为例; - Example: ```javascript //构造通用数据管理对象 var commonDataManager = new CesiumZondy.Manager.CommonDataManager({ viewer: webGlobe.viewer, }) //添加KML数据 datasource = commonDataManager.appendKml('./static/data/kml/bikeRide_wuhan.kml') ``` ### 关键接口 #### 1.【三维场景控件】`WebSceneControl` #### 2.【通用数据管理类】`CesiumZondy.Manager.CommonDataManager` ##### 【method】`appendKml(url, options) → {KmlDataSource}`:加载 KML、KMZ 数据,返回 KML 数据对象(KmlDataSource) | 参数名 | 类 型 | 说 明 | | ------- | ------ | --------------------------------------------------------------------------------------------------------------------- | | url | String | 数据文件地址,本地数据路径设置如“./static/data/kml/bikeRide_wuhan.kml”,网络数据路径设置如“http://{域名或IP}/xxx.kml” | | options | Object | 可选扩展参数 | ##### 【method】 `removeDataSource(datasource, isDestroy)` 移除数据对象 | 参数名 | 类型 | 说明 | | ---------- | ---------- | -------- | | datasource | DataSource | 数据对象 | | isDestroy | Boolean | 是否销毁 | ##### 【method】 `removeAllDataSource(isDestroy)` 移除所有数据对象 | 参数名 | 类型 | 说明 | | --------- | ------- | -------- | | isDestroy | Boolean | 是否销毁 |