产品介绍
大约 3 分钟
产品介绍
什么是 vjmapext
vjmapext 是 vjmap 的 CAD 绘图扩展库,为 Web 地图赋予专业级的矢量绘图与标注能力。它的核心类 MapCadLayer 实现了 vjmap 的 IControl 接口,以地图控件方式挂载,将 CAD 级别的绘图、编辑、标注、动画系统无缝融入地图应用。
const mapcadLayer = new MapCadLayer();
map.addControl(mapcadLayer); // 作为 IControl 挂载到 vjmap 地图定位
vjmapext 并非独立的 CAD 软件,而是面向 GIS + CAD 融合场景 的前端绘图引擎。它把 CAD 绘图能力变成了一层可叠加在地图之上的矢量图层,开发者使用熟悉的 Web 技术栈即可实现专业绘图功能。
核心特性
| 特性 | 说明 |
|---|---|
| 矢量实体系统 | 支持直线、多段线、圆、弧、椭圆、样条曲线、填充、文字、块引用等 15+ 种实体类型,完整覆盖 CAD 常用图元 |
| DWG/CAD 底图叠加 | 通过 vjmap 服务打开 DWG 图纸作为底图,在底图上叠加矢量标注、区域高亮与监测点,实现 CAD 图纸的 Web 二次开发 |
| 命令系统 | 内置 LINE、CIRCLE、MOVE、COPY、TRIM、FILLET 等 30+ 种专业命令,支持自定义命令注册与扩展 |
| 标注与尺寸 | 支持线性标注(LinearDimEnt)、对齐标注(AlignedDimEnt)、角度标注(AngleDimEnt)、半径标注(RadialDimEnt)和多重引线(MLeaderEnt),标注与实体关联自动更新 |
| 动画引擎 | 内置 AnimationManager 支持 Tween、路径动画、弹簧物理、关键帧等动画系统,可实现雷达扫描、脉冲、拖尾、闪烁等特效 |
| 插件架构 | 通过 PluginManager 加载插件,自由扩展命令、实体类型和 UI 面板,实现业务级功能封装 |
| TypeScript 全类型 | 核心代码使用 TypeScript 编写,提供完整的类型定义,开发体验友好、类型安全 |
| 国际化 | 内置中 / 英文切换,通过 locale 选项或 setLocale() API 一键切换命令提示与 UI 语言 |
系统架构
下图展示了 MapCadLayer 如何串联各子系统:
适用场景
| 场景 | 说明 |
|---|---|
| GIS + CAD 混合应用 | 在地理底图上叠加 CAD 图纸,进行区域标注、设备标记、路径规划等二次开发 |
| 室内地图 | 加载建筑平面图作为底图,叠加房间信息、设施点位、导航路线 |
| 工程图纸在线批注 | 在 DWG 图纸上添加标注、尺寸、文字说明,协同审图 |
| 设施管理 | 工厂、园区、管廊等设施的在线巡检标注与设备状态可视化 |
| 数据可视化 | 结合动画引擎在地图上实现扫描动效、数据热力标注、轨迹回放等效果 |
浏览器兼容性
| 浏览器 | 最低版本 | 说明 |
|---|---|---|
| Chrome | 80+ | 推荐 |
| Firefox | 78+ | 支持 |
| Edge | 80+ | 支持 |
| Safari | 14+ | 支持 |
| IE | Edge | 支持 |
注意
vjmapext 依赖 WebGL 渲染,请确保浏览器已启用硬件加速。移动端浏览器同样支持,但建议在中高端设备上使用以获得最佳性能。