🌍 cesium-kit —— 快速实现动态标点与交互的 Cesium 工具库

cesium-kit 是一个开源的 Cesium 组件工具库

leongaooo 基于 TypeScript 开发,提供一系列即插即用的函数与工具。

它能帮助开发者在 Cesium 场景 中快速完成 绘制、标注和交互 ✨。


🔑 特性

  • 快速交付:函数式 API,几行代码即可绘制
  • 🔒 类型安全:TypeScript 全量类型提示
  • 🔌 可扩展性强:组件化封装,支持二次开发
  • 🎯 专注 Cesium:针对三维地球业务场景,开箱即用

📦 安装

csharp 复制代码
# 使用 npm
npm i cesium-kit cesium

# 或使用 pnpm
pnpm add cesium-kit cesium

# 或使用 yarn
yarn add cesium-kit cesium

注意:cesium 是运行时依赖,需要一并安装并初始化 Cesium.Viewer


🚀 快速开始

假设你已经初始化了一个 Cesium.Viewer 实例(viewer),现在我们尝试快速实现一个 动态标点效果。

1️⃣ RippleMarker ------ 扩散波纹标点

在已有的场景中,瞬间加一个"红色倒立三棱锥 + 动态扩散波纹"标点 🔻🌊:

arduino 复制代码
import { RippleMarker } from "cesium-kit"

// 在北京天安门加一个动态标点
const marker = new RippleMarker(viewer, {
  position: { lng: 116.39, lat: 39.9 }, // 经纬度
  height: 1000,                         // 高度(米)
  color: Cesium.Color.RED,              // 标点颜色
  ripple: true,                         // 启用扩散波纹
})

// 可移除
// marker.remove()

👉 效果就是地图上的定位点闪烁+扩散波纹,常见于 GIS/监控系统里的 实时事件标记


2️⃣ ViewerClick ------ 点击交互

快速获取用户点击的经纬度坐标 📍:

javascript 复制代码
import { ViewerClick } from "cesium-kit"

const clickTool = new ViewerClick(viewer, (event) => {
  console.log("点击坐标:", event.lng, event.lat)
  console.log("原始参数:", event.original)
})

这样可以方便地做:

✅ 用户点选兴趣点(POI)

✅ 绘制多边形/路径起点

✅ 测试交互逻辑


3️⃣ CameraMoveEvent ------ 相机监听

实时获取相机的视角变化 👀:

javascript 复制代码
import { CameraMoveEvent } from "cesium-kit"

const cameraEvent = new CameraMoveEvent(viewer, (info) => {
  console.log("相机位置:", info)
})

适用场景:

  • 保存用户视角(下次打开恢复)
  • 动态展示相机参数
  • 调试开发

🌐 兼容性与打包说明

  • 输出格式:ESM + CJS
  • 内置 .d.ts 类型声明
  • Node 版本:推荐 ≥ 18
  • 运行时依赖:cesium

🧪 本地开发 & Playground

仓库提供了 Playground,你可以一键启动:

arduino 复制代码
# 安装依赖
npm i
npm run play:install

# 开发并行运行:构建库 + 启动 Playground
npm run dev:play

Playground 内置 vite-plugin-cesium

不用担心 Cesium 静态资源和 Workers 的复杂配置。


💡 适用场景

  • 实时事件标注(如报警 / 监控点 🚨)
  • 城市与地理三维信息展示 🏙️
  • 航迹可视化、设备监控、仿真演示 ✈️
  • 简化 Cesium 开发成本,快速 Demo

📌 总结

  • 如果你想快速在 Cesium 地球 上实现类似"动态波纹标点""点击选点""相机跟踪"这些功能 👉 用 cesium-kit 就能几行代码搞定。
  • 它是 前端 Cesium 开发的加速器 ⚡,特别适合需要快速 Demo 或工程化 GIS 可视化项目的场景。

👉 仓库地址:

相关推荐
Mike_jia3 小时前
RustFS:国产高性能对象存储新标杆,全面替代MinIO的优雅方案
前端
2301_781392523 小时前
提高前端开发效率的利器:VUE常用组件及应用
前端·javascript·vue.js
golang学习记3 小时前
VS Code 2025 最强“黑科技”特性:效率直接拉满!
前端
Mintopia3 小时前
📘 领域适配 AIGC:垂直行业 Web 应用的微调技术实践
前端·aigc·ai编程
llq_3503 小时前
pnpm 中的硬链接(hard link)和符号链接(symlink)
前端
南屿im4 小时前
前端性能基准测试入门:用 Benchmark.js 做出数据驱动的选择
前端·javascript
ssshooter4 小时前
linkProgram 和 useProgram 分别执行了什么动作?
前端·webgl
TZOF4 小时前
TypeScript的静态类型检查,在js中经常会遇到的困扰
前端·javascript·typescript
_大学牲4 小时前
Flutter 集成 Google ML Kit 体态识别模型 (二) 如何用姿态数据实现运动动作检测
前端·app