二十二、openlayers官网示例Custom Drag-and-Drop (KMZ)解析——拖拽KMZ,、GPX、GeoJSON、IGC、 KML、 TopoJSON文件到地图上解析成矢量图层

官网demo地址: 

Custom Drag-and-Drop (KMZ)icon-default.png?t=N7T8https://openlayers.org/en/latest/examples/drag-and-drop-custom-kmz.html

 这个示例展示了如何拖拽文件到地图上并实时解析成矢量图层 

首先来看看什么是KMZ

KMZ和KML有什么区别?

KML格式:
  1. 文件格式:KML文件是基于XML的纯文本文件。
  2. 文件扩展名:.kml
  3. 内容
    • 包含地理要素和数据,例如点、线、面、图像叠加以及其他地理信息。
    • 结构清晰,可读性强,可以用文本编辑器打开查看和编辑。
  4. 大小:因为是纯文本文件,KML文件可能会变得非常大,尤其是包含大量详细地理数据时。
KMZ 格式:
  1. 文件格式:KMZ文件是KML文件的压缩版本。
  2. 文件扩展名:.kmz
  3. 内容
    • KMZ文件是一个ZIP压缩包,里面包含一个或多个KML文件以及其他相关资源(如图片、模型等)。
    • 主KML文件通常命名为doc.kml
    • 可以包含多个文件和文件夹,使得相关资源可以一起分发。
  4. 大小:由于KMZ是压缩文件,通常比对应的KML文件要小,便于分发和下载。
  5. 多媒体资源:KMZ文件可以打包包括图片、3D模型(如Collada文件)等多媒体资源,这些资源可以在解压后保持相对路径关系。

 由此可知,KMZ格式转化成KML格式只需要进行解压,所以这里创建了一个KMZ类继承了KML,重写了readFeature和readFeatures两个方法,在解析之前增加了解压操作。

 class KMZ extends KML {
      constructor(opt_options) {
        const options = opt_options || {};
        options.iconUrlFunction = getKMLImage;
        super(options);
      }

      getType() {
        
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值