18 Cesium—矢量数据-KmlDataSource

文章中所有操作均是在 Cesium 1.91 版本下进行的,其它版本差异请自行适配

KmlDataSource

KML (keyhole markup language)是一种基于 XML 语法格式的文件,用来描述和存储地理信息数据(点、线、面、多边形、多面体以及模型等),通常应用于 Google 地球相关软件中(Google Earth,Google Map 等),它跟 XML 文件最大的不同就是 KML 描述的是地理信息数据,KML文件有两个文件扩展名:.KML 和 .KMZ(KMZ是一个或几个 KML 文件的压缩集,采用 zip 格式压缩)。Cesium 从1.7 版开始就支持 KML,目前对 KML 的支持还不完整,但是支持大量的标准以及 Google 的gx扩展名称空间。有关支持哪些内容和不支持哪些内容的详细列表

这里找了几个官网的示例(注意官方的示例对应的 kml 文件目录下,还有几个图片也得需要用上),仅供参考。

KML

代码片段:

const viewer = new Cesium.Viewer("cesiumContainer");

var options = {
    camera: viewer.scene.camera,
    canvas: viewer.scene.canvas,
    screenOverlayContainer: viewer.container,
};

//test.kml文件是官方示例中的文件
var dataSource = Cesium.KmlDataSource.load(
    "./source/kml/test.kml",
    options
);

viewer.dataSources.add(dataSource);

viewer.camera.flyHome(0);

test.kml 文件,是官方示例中文件路径:Cesium-1.91\Apps\SampleData\kml\facilities\facilities.kml。

效果如下:

KMZ

代码片段:

const viewer = new Cesium.Viewer("cesiumContainer");

var options = {
    camera: viewer.scene.camera,
    canvas: viewer.scene.canvas,
    screenOverlayContainer: viewer.container,
};

//test.kmz文件是官方示例中的文件
var dataSource = Cesium.KmlDataSource.load(
    "./source/kml/test.kmz",
    options
);

viewer.dataSources.add(dataSource);

viewer.camera.flyHome(0);

test.kmz 文件,是官方示例中文件路径:Cesium-1.91\Apps\SampleData\kml\gdpPerCapita2008.kmz。

效果如下:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WorkLee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值