Cesium-kit 是一个开源的 Cesium 组件工具库,基于 TypeScript 开发,提供一系列即插即用的函数与工具,帮助开发者在 Cesium 场景中快速绘制、标注和交互。Cesium-kit (地图工具库)、Camera-control (相机控制器)、CameraMoveEvent (相机移动函数)、RippleMarker (动画标点组件)、ViewerClick( 鼠标点击函数)
cesium-kit 是一个开源的 Cesium 组件工具库,基于 TypeScript 开发,提供一系列即插即用的函数与工具,帮助开发者在 Cesium 场景中快速绘制、标注和交互。
# 使用 npm
npm i cesium-kit cesium
# 或使用 pnpm
pnpm add cesium-kit cesium
# 或使用 yarn
yarn add cesium-kit cesium
说明:
cesium是运行时依赖,请在你的应用中一并安装并初始化Cesium.Viewer。
import * as Cesium from "cesium";
import { createCameraControl } from "cesium-kit";
import "cesium-kit/styles/camera-control.css";
const viewer = new Cesium.Viewer("viewerContainer");
const cameraControl = createCameraControl({
viewer,
// 基础缩放距离(米)
zoomDistance: 500,
// 可选:挂载到指定容器(不传则自动查找)
containerId: "camera-bar",
// 可选:是否显示相机信息
showCameraInfo: false,
// 可选:平移速度系数(默认 1),配合“高度越低越慢”的自适应步长
movementSpeedScale: 0.8,
});
| 组件名 | 介绍 | 文档链接 |
|---|---|---|
| RippleMarker | 在已有的 Cesium.Viewer 实例中快速添加一个“倒立三棱锥 + 扩散波纹”的标点 | src/RippleMarker/README.md |
| ViewerClick | 封装 Viewer 的点击事件,回调函数返回经纬度和原始参数,提供 ts 类型提示 | src/ViewerClick/README.md |
| CameraMoveEvent | 监听 Cesium 相机移动事件,实时获取相机位置信息,支持控制台打印和位置查询 | src/CameraMoveEvent/README.md |
| CameraControl | 相机控制组件,提供旋转、平移(前/后/左/右)、街景、缩放、相机状态信息等功能 | src/Camera-Control/README.md |
cesium(请由业务工程安装)。# 1. 安装依赖
npm i
npm run play:install
# 2. 启动开发环境(推荐)
npm run dev:play
这将同时启动:
dist/http://localhost:5173 启动 Vue 应用项目采用自动化构建同步机制:
# 完整构建(包含自动同步到 playground)
npm run build
构建流程:
src/styles/ 并更新 package.json exportsdist/styles/dist/ 到 playground/src/cesium-kit/npm run dev:play
# 构建并同步到 playground
npm run build
# 启动 playground
npm run play:start
# 构建并打包
npm run pack
# 在 playground 安装测试
cd playground
npm i ../cesium-kit-*.tgz
npm run dev
cesium-kit/
├── src/ # 源码目录
│ ├── styles/ # CSS 样式文件
│ ├── RippleMarker/ # 波纹标记组件
│ ├── ViewerClick/ # 点击事件组件
│ ├── CameraMoveEvent/ # 相机移动事件
│ └── Camera-Control/ # 相机控制组件
├── dist/ # 构建输出
├── playground/ # 开发测试环境
│ └── src/
│ └── cesium-kit/ # 自动同步的构建文件
└── scripts/ # 构建脚本
└── generate-exports.js # CSS exports 自动生成
Q: playground 中组件无法正常显示?
A: 确保已运行 npm run build 并检查 playground/src/cesium-kit/ 目录是否存在
Q: CSS 样式不生效?
A: 检查是否正确导入样式文件:import 'cesium-kit/styles/camera-control.css'
Q: TypeScript 类型错误?
A: 重新构建项目:npm run build,确保类型声明文件是最新的
Q: 构建失败?
A: 检查 Node 版本 >= 18,删除 node_modules 和 package-lock.json 后重新安装
vite-plugin-cesium,自动拷贝 Cesium 静态资源与 Workers。GridImageryProvider 与椭球地形,可在验证后换回在线底图与地形。欢迎 PR 和 Issue!
# 1. Fork 并克隆仓库
git clone https://github.com/your-username/cesium-kit.git
cd cesium-kit
# 2. 安装依赖并启动开发环境
npm i && npm run play:install
npm run dev:play
# 3. 创建功能分支
git checkout -b feat/your-feature-name
# 4. 开发完成后提交 PR
main 为稳定分支,feat/* 开发新特性,fix/* 修复问题MIT © cesium-kit Contributors