Cesium快速入门11:广告牌添加

一、把"红点"升级成"广告牌"

上节课我们插了一个小红点,也加载了 3D 建筑。

可只有文字不过瘾?那就再给广州塔贴一张"真人照"------用 Cesium 的 billboard(广告牌)功能。


二、准备一张小图标

  1. 打开 iconfont 或其他图库,搜"广州塔",挑一张顺眼的。

  2. 下载 PNG,丢进项目 public/imgs/ 文件夹,命名 gz.png

    (演示)把图拖进去后,路径就是 ./imgs/gz.png,等会儿直接引用。


三、写代码:把图"钉"在地球上

还是在同一个实体里加一行 billboard 配置即可,代码如下,中文注释已写好,复制就能跑:

复制代码
// 1. 添加一个广告牌(图片)
viewer.entities.add({
  position: Cesium.Cartesian3.fromDegrees(113.31914, 23.109, 700), // 广州塔上空 700 米
  billboard: {
    image: './imgs/gz.png',           // 刚才准备的图片
    width: 200,                       // 宽 200 像素
    height: 200,                      // 高 200 像素
    verticalOrigin: Cesium.VerticalOrigin.TOP,    // 图片顶部对准坐标点
    horizontalOrigin: Cesium.HorizontalOrigin.CENTER, // 水平居中
    pixelOffset: new Cesium.Cartesian2(0, -15)   // 再往下挪 15 像素,避免压住文字
  }
});

四、现场调位置

(演示)第一次跑,图片和小红点挤在一起?别急,三招搞定:

  1. 改高度:把 700 改成 750,图片就"飘"上去一层。

  2. 改偏移:pixelOffset 的 y 再往下多挪一点,比如 -30

  3. 改原点:verticalOrigin 换成 TOP,图片顶部贴着坐标点,底部自然悬空,瞬间清爽。


五、最终效果

塔尖一张靓照,底下"广州塔"三个白字,3D 建筑环抱四周,层次干净又不抢戏。

实际项目里,一般"红点 + 图片 + 文字"三选二就行,太多会叠成"千层饼"。

大家按场景自由删减,大小、偏移、透明度都能再细调。


六、本节小结

  1. 会找图、丢图、引图。

  2. 会用 billboard 把图片钉在地球任意位置。

  3. 会用 verticalOrigin / horizontalOrigin / pixelOffset 微调对齐。

下节课我们继续给地球"加戏",拜拜!

相关推荐
threelab4 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
zhangfeng11337 小时前
计算机视觉vc 3D 希尔伯特曲线 基础介绍,人工智能
人工智能·计算机视觉·3d
程序员极光11 小时前
第六篇,如何用高德地图获取定位!
3d·高德
Thomas_YXQ14 小时前
Unity3D Addressable 深度优化热更性能消耗
开发语言·3d·unity·微信
七77.14 小时前
【3D 场景生成】NuiScene: Exploring Efficient Generation of Unbounded Outdoor Scenes
3d·世界模型
sinat_3845031115 小时前
【无标题】
unity·webgl
threelab15 小时前
Three.js 几何图形变换 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
xian_wwq16 小时前
【学习笔记】倾斜摄影、高斯泼溅(3DGS)、点云与数字孪生“族谱”全盘点
笔记·学习·3d
AI视觉网奇16 小时前
stl转glb glb缩放
开发语言·3d
七77.17 小时前
【3D 场景生成】WorldGen: From Text to Traversable and Interactive 3D Worlds
3d·世界模型