Skip to content

BMapViewer 是什么?

BMapViewer 是面向 Vue 3 应用的 Cesium 地理信息可视化 SDK。它将 Viewer 生命周期、相机控制、图层管理和地图交互整理为清晰、可组合的 API,让业务代码专注于数据与场景表达。

通过 BMapViewer 组件可以快速创建 Cesium 场景;通过 MapLayers 可以加载点、线、面、气泡、热力图、3D Tiles 和动态效果;通过 PickTools 与 Turf 可以完成拾取、绘制和空间分析。

一句话理解

BMapViewer 为 Cesium 提供 Vue 3 组件入口,并为常见 GIS 能力提供统一的创建、更新与销毁方式。

重点能力

模块解决的问题
BMapViewerViewer 初始化、相机配置、点击事件与生命周期管理
MapLayers点线面、标注、气泡、热力图、3D Tiles 和动态效果
PickTools点、图标点、线和多边形拾取,支持拖拽编辑
TurfGeoJSON 数据处理、距离计算、缓冲和空间关系分析
示例工作台浏览、修改并重新运行每个能力的示例代码

应用场景

  • 二维与三维 GIS 应用
  • 离线地图与内网部署
  • 园区、设备和事件态势展示
  • 点、线、面与动态效果的批量可视化
  • 地图拾取、几何绘制与空间分析

设计特点

  • 组件化:使用 Vue 生命周期管理 Cesium Viewer。
  • 可组合:图层和工具围绕同一个 Viewer 按需接入。
  • 可回收:图层提供清理或销毁方法,降低页面切换时的资源残留。
  • 可验证:在线示例支持查看、编辑并重新运行当前代码。
  • 离线友好:支持本地瓦片、3D Tiles 和静态资源。

安装

shell
npm install b-map-viewer cesium vite-plugin-cesium

当前验证版本为 Cesium 1.118.2。详细配置与组件示例请继续阅读快速开始

zip.js 兼容说明

Cesium 1.118 的 KML 模块使用了 @zip.js/zip.js/lib/zip-no-worker.js 子路径。BMapViewer 已固定兼容的 @zip.js/zip.js@2.7.73,正常安装 SDK 时不需要额外处理。

如果应用强制覆盖了该依赖,请确保最终解析版本仍为 2.7.x:

shell
npm ls @zip.js/zip.js

基于 Apache-2.0 许可发布