当前位置: 首页 > news >正文

ol-plot 入门使用指南:三步把标绘工具接到 OpenLayers 地图上

ol-plot 入门使用指南:三步把标绘工具接到 OpenLayers 地图上

【免费下载链接】ol-plot:art: | openalyers 3 / 4 / 5 / 6 / 7 扩展标绘项目地址: https://gitcode.com/gh_mirrors/ol/ol-plot

ol-plot 是一个面向 OpenLayers 的地图标绘扩展插件,它让你在地图上直接绘制弓形、箭头、扇形、文本框等符号,并支持对已绘制要素进行编辑和序列化保存。它兼容 ol 5 到 7,同时提供 Vue 组件包 ol-plot-vue。无论你维护的是纯 JS 地图工程还是 Vue 项目,这篇入门教程都能带你完成安装、接入和画出第一个符号。

快速开始:三步接入你自己的地图

  1. 安装依赖:npm install ol-plot,Vue 项目改装ol-plot-vue,并记得引入随包发布的样式文件。
  2. 按正常方式创建一个 OpenLayers 地图实例(Map、View、任意底图)。
  3. 用一行代码初始化标绘实例,plotDrawplotEditplotUtils三个子模块随即可用:
import Plot from 'ol-plot'; import 'ol-plot/dist/ol-plot.css'; const plot = new Plot(map); plot.plotDraw.activate(Plot.PlotTypes.ELLIPSE);

调用activate后,鼠标在地图上操作即可画出椭圆。换其他符号只需换一个类型常量。

会画什么:用类型常量切换符号

plotDraw.activate(type, params)是绘制入口,第二个参数可以传入该符号的自定义参数(颜色、线宽等)。支持的类型覆盖了常见标绘需求:

  • 面状符号:弓形、椭圆、闭合曲线、扇形、矩形、自由面、集结地;
  • 线状符号:曲线、折线、自由手绘线、圆;
  • 箭头类:进攻方向、战斗行动、细直箭头、双箭头等带尾变体;
  • 其他:点、旗标、文本框。

完整清单见 PlotTypes 定义,每个类型在 geometry 目录 下都有对应实现类。不想画时调用plotDraw.deactivate()退出即可。

怎么改和存:编辑与序列化两步走

  • 编辑:绘制完成后,把要素传给plotEdit.activate(feature)就进入编辑状态,拖拽控制点调整形状,deactivate()退出。
  • 存取plotUtils.getFeatures()会把地图上所有符号序列化成数组,addFeatures()负责还原,removeAllFeatures()一键清空。把数组存到后端,再在加载时还原,标绘数据的保存恢复就完成了。

Vue 项目:两行代码挂载组件

如果你用 Vue,不需要手写工具栏。安装ol-plot-vue后注册插件,模板里放一个<ol-plot-vue :map="map" />组件并传入地图实例,工具栏和交互逻辑都由组件托管。完整可运行的写法在 playground/vue3 示例 里,照着抄最快。

关键文件速查

路径什么时候去看
packages/ol-plot/src/index.ts想了解 Plot 实例由哪些模块组成时
packages/ol-plot/src/core/PlotDraw.ts排查绘制交互、图层命名问题时
packages/ol-plot/src/core/PlotEdit.ts想改编辑控制点行为时
packages/ol-plot/src/utils/PlotTypes.ts确认支持哪些标绘类型时
packages/ol-plot-vue/src/plot.vueVue 组件内部逻辑和事件暴露位置

上手建议与常见问题

  • 先看 playground/vue3,不要直接翻 src/。示例工程从建图到挂载组件全流程都有,改参数试效果比读源码快得多。
  • 纯 JS 接入别漏样式文件。不引入ol-plot.css时,工具栏和文本框编辑框的样式会丢失,现象是"功能正常但界面错乱"。
  • 事件监听要挂对对象。4.x 之后文本框相关事件(activeTextArea 等)绑定在 plot 实例上,而不是 map 实例上,老代码迁移时这是最常见的坑。

需要完整的参数、事件说明,直接查仓库根目录的 README.md;想边跑边改,就从 playground 下的示例工程入手。

【免费下载链接】ol-plot:art: | openalyers 3 / 4 / 5 / 6 / 7 扩展标绘项目地址: https://gitcode.com/gh_mirrors/ol/ol-plot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4176215.html

相关文章:

  • 浏览器里改暗黑破坏神2存档:用 d2s-editor 快速调属性、导物品的完整指南
  • TrollInstallerX 安装 TrollStore 完整教程:4 步装好,iOS 14.0-16.6.1 通用
  • 快捷键失灵了?3 分钟用 Hotkey Detective 揪出偷走全局热键的进程
  • 3 步跑通 Beyond Compare 5 密钥生成:BCompare_Keygen 零基础上手指南
  • LiteRT-LM视觉能力实战:多模态LLM在树莓派上识别图像完整指南
  • Windows苹果驱动安装完整指南:1分钟让iPhone USB网络共享跑起来
  • 抖音去水印下载完整指南:一条命令保存单个视频或整站主页
  • miqu-1-70b量化版本终极选择指南:q2_K、q4_k_m、q5_K_M三大档深度对比
  • ExplorerPatcher 任务栏属性窗口无法打开:4 层排查阶梯,一文搞定
  • OpenCore Legacy Patcher:老 Mac 升级最新 macOS Sequoia 的完整方法
  • AIMNet2-rxn 局限性与完整解决方案:突破 H/C/N/O 元素限制的化学反应模拟策略
  • Keep:把 20 条告警压成 1 个事件,AIOps 告警关联的开源解法
  • 商用前必看:flux-RealismLora非商业许可证避坑指南与风险解读
  • MouseJiggler 从安装到防休眠:一份完整的 Windows 实用指南
  • 开源项目caniuse如何保证554个feature数据的准确性:validate-jsons.js校验机制代码实现深度剖析
  • Great Expectations数据契约:4步给数据流水线装上质检闸
  • Awoo Installer 安装使用指南:3 种通道把 NSP、NSZ、XCI、XCZ 一次装进 Switch
  • WechatHook微信自动化完整指南:一文搞懂微信机器人5大核心玩法
  • 隐私优先的开源联系人+短信神器Connect You:从安装到全面上手的完整指南
  • libheif未来发展方向解析:AVIF标准演进与6大新技术支持
  • react-s-alert 全部 12 个配置项详解:stack、beep、offset 参数完全手册
  • 读懂LLaVA-v1.5-13B的config.json:CLIP视觉塔、mlp2x_gelu投影器与LLaMA-2的8个核心配置参数
  • 压缩包密码找回:4 条命令跑完整份字典,不用装任何软件
  • SMUDebugTool:免费开源的 Ryzen 底层参数调试工具,一个窗口读通 SMU、MSR 与电源表
  • QuickBMS 游戏资源提取:零基础解包到模组回填全解
  • intentrace底层实现(上):ptrace是如何拦截Linux进程每一次系统调用的
  • 揭秘ViTMatte-small-Composition-1k核心架构:Plain ViT如何征服图像抠图任务
  • 十分钟搞定游戏 DLSS 版本替换:DLSS Swapper 实操手册
  • ide-eval-resetter 指南:2 条路线重置 JetBrains 试用期,5 项常见问题速查
  • TrollInstallerX 快速教程:iOS 14.0-16.6.1 免越狱装 TrollStore,3 分钟一次装好