exportKml

exportKml(options)Promise.<Object>

将EntityCollection导出为KML文档。 仅点(Point),布告牌(Billboard),模型(Model),路径(Path),多边形(Polygon),折线(Polyline)几何将被导出。 请注意,实体(Entity)属性与KML要素(Feature)属性之间没有一对一的映射。 例如,在KML中是时间动态的但不能是动态的实体属性在 options.time处导出,如果没有指定,则在EntityCollection的时间间隔开始处导出它们的值。 对于KML中支持的时间动态属性,如果它是SampledProperty,我们将使用示例,否则我们将使用options.sampleDuration对值进行采样。 点,广告牌,模型和路径几何图形与时间动态位置将导出为gx:Track要素。并不是所有的材质都能在KML中表现出来,所以对于更高级的材质,只能使用原色。 画布对象将导出为PNG图像。
Name Type Description
options Object 此对象拥有以下属性:
Name Type Default Description
entities EntityCollection EntityCollection导出为KML。
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 椭球。
modelCallback exportKml~ModelCallback optional 将使用ModelGraphics实例调用的回调,该回调应返回要在KML中使用的URI。如果实体集合中存在模型,则为必需。
time JulianDate entities.computeAvailability().start optional 用于获取在KML中不随时间变化的属性的时间值。
defaultAvailability TimeInterval entities.computeAvailability() optional 如果一个实体没有可用性,将采样的间隔。
sampleDuration Number 60 optional KML中变化的属性的采样秒数。
kmz Boolean false optional 如果为true,则KML和外部文件将被压缩为kmz文件。
Returns:
一个promise,解析为包含KML字符串和外部文件blob字典的对象,或者如果options.kmz为true,解析为blob的kmz文件。
Example:
Cesium.exportKml({
     entities: entityCollection
 })
  .then(function(result) {
    // The XML string is in result.kml

    var externalFiles = result.externalFiles
    for(var file in externalFiles) {
      // file is the name of the file used in the KML document as the href
      // externalFiles[file] is a blob with the contents of the file
    }
  });
Demo:

Type Definitions

ModelCallback(model, time, externalFiles)String

由于KML不支持glTF模型,因此需要此回调来在KML文档中指定用于该模型的URL。 还可以用于将其他文件添加到 externalFiles 对象,该对象是嵌入在导出的KMZ中的文件列表,或者在导出时随KML字符串一起返回。
Name Type Description
model ModelGraphics 实体的ModelGraphics实例。
time JulianDate 任何属性应用于获取值的时间。
externalFiles Object 将文件名映射到Blob或将Promise解析为Blob的对象。
Returns:
KML文档中用于href的URL。