经纬志
首页 / OpenLayers / 使用示例

拖放载入数据文件

DragAndDrop 交互挂上 GeoJSON 与 KML 两个解析器,拖入文件即上图并自动缩放到数据范围,另配内置数据按钮。

OpenLayers 10.3.1 · 对应官方 drag-and-drop-custom-kmz.html · 更新 2026-10-27
源码与运行效果
运行效果

说明

ol.interaction.DragAndDrop 的 formats 是一组解析器实例, 浏览器把文件读成文本后会依次尝试;解析成功时触发 addfeatures, 事件里带着 features 与 file。

KMZ 是 ZIP 容器,需要先解压出里面的 KML,浏览器没有内置解压能力, 所以这里处理 GeoJSON 与 KML 两种纯文本格式;把解压后的内容直接拖进来同样可用。 没有文件时点「载入内置数据」,示例也准备了三个要素。

操作结果
把 .geojson 拖到地图上要素上图,视图自动适配范围
把 .kml 拖到地图上由 KML 解析器读取并上图
点击「载入内置数据」内置多边形与两个点出现

拖放解析用的是文件文本内容,编码不是 UTF-8 的 KML 可能读出乱码,接入前先确认导出来源。