🚀 Cesium-Kit:10 秒为你的 Cesium 项目添加动态光效标记

在三维地图可视化中,标记(Marker)是最常见、也是最能承载数据与交互的一种元素。

但是 Cesium 默认的点标记过于单调,无法很好地展示数据的 炫酷感交互性

为了快速解决这个痛点,我们在 cesium-kit 中提供了一个全新的动态标记 ------ RippleMarker

只需 10 秒钟,你就能在地图上添加一个带光效波纹的 3D 标点,让你的场景立刻"动"起来 ✨。


📌 RippleMarker 简介

RippleMarker 是一个专为 Cesium 场景定制的动态 3D 波纹标记,核心特性包括:

  • 🔵 动态波纹动画:酷炫的扩散光圈效果
  • 🔺 3D 倒立三棱锥:立体标记更直观
  • 🏷️ 标签显示:支持文字标注与美化
  • 🖱️ 点击事件:轻松绑定交互逻辑
  • 📦 数据绑定:传递业务数据,点击时直接拿到结果
  • 🛠️ 批量管理:支持一键隐藏、显示或移除
  • 💡 性能优化:基于 Cesium.CallbackProperty 实现高效动画

效果预览:


⏱️ 快速上手:10 秒集成

安装仓库包:

css 复制代码
npm i cesium-kit

仅需几行代码,即可添加一个动态光效 Marker:

php 复制代码
import { Viewer } from "cesium";
import { RippleMarker } from "cesium-kit";

const viewer = new Viewer("container");

RippleMarker(viewer, {
  lon: 116.3913,
  lat: 39.9075,
  color: "rgba(0,150,255,0.8)",
  maxRadius: 8000,
  duration: 1500,
  pyramidHeight: 1000,
});

运行后,一个带扩散光圈、会浮动的三棱锥标记就会出现在北京的位置 🎉。


🎨 进阶玩法

带标签和交互事件

php 复制代码
const marker = RippleMarker(viewer, {
  lon: 116.3913,
  lat: 39.9075,
  id: "beijing-marker",
  data: { name: "北京", population: 21540000 },
  label: {
    text: "北京市",
    font: "18px sans-serif",
    fillColor: "#ffffff",
  },
  onClick: (data, position) => {
    console.log("点击了:", data.name, "坐标:", position);
  },
});

批量创建和统一管理

less 复制代码
const cities = [  { name: "北京", lon: 116.3913, lat: 39.9075 },  { name: "上海", lon: 121.4737, lat: 31.2304 },];

const markers = cities.map((city) =>
  RippleMarker(viewer, {
    lon: city.lon,
    lat: city.lat,
    label: { text: city.name, fillColor: "#00ff88" },
    onClick: (data) => alert(`欢迎来到${data.name}!`),
  })
);

// 一键隐藏
markers.forEach((m) => m.hide());

🛡️ 为什么选择 RippleMarker?

  • 快速集成:无需重复造轮子,直接开箱即用
  • 高性能动画:比自定义 Shader 或 Entity 设置更省心
  • 业务友好:事件绑定 + 数据挂载,贴合业务场景
  • 类型安全:完整的 TypeScript 类型,IDE 智能提示

如果你正在做 智慧城市地理大数据可视化三维展示平台

RippleMarker 是一个提升项目观感的绝佳工具。


📖 更多文档与源码

仓库地址:👉 github.com/leongaooo/c...

立即尝试,让你的 Cesium 项目"亮"起来 🚦。

相关推荐
peachSoda72 分钟前
自定义配置小程序tabbar逻辑思路
javascript·vue.js·微信小程序·小程序
hbqjzx2 分钟前
记录一个自动学习的脚本开发过程
开发语言·javascript·学习
我有一棵树5 分钟前
使用Flex布局实现多行多列,每个列宽度相同
前端·css·html·scss·flex
浪裡遊7 分钟前
React开发模式解析:JSX语法与生命周期管理
前端·javascript·react.js·前端框架·ecmascript
fruge11 分钟前
Vue 3 完全指南:响应式原理、组合式 API 与实战优化
javascript·vue.js·ecmascript
用户8772447539612 分钟前
Lubanno7UniverSheet:开放底层能力,让你的表格需求 “不设限”
前端
张可爱18 分钟前
ES6奶茶铺版通俗笔记 🍵✨
前端
用户8772447539618 分钟前
Lubanno7UniverSheet:选择命令式,为了真正的跨框架通用
前端
Aoda24 分钟前
从痛点到落地:PawHaven 的 Monorepo 架构设计
前端·javascript
幸运小圣25 分钟前
Set数据结构【ES6】
javascript·数据结构·es6