Cesium快速上手3-Billboard/Label/PointPrimitives图元使用讲解

Billboard&Cesium.BillboardCollection

面朝屏幕的图片,用于添加图标等集合

特点:

  • 始终面朝屏幕,即使旋转也面朝屏幕
  • 注意创建的集群对象 Cesium.BillboardCollection

先看展示效果
在这里插入图片描述

function setBillboardProperties() {
  Sandcastle.declare(setBillboardProperties);
  //在图元中添加	
  const billboards = scene.primitives.add(
    new Cesium.BillboardCollection()
  );
  billboards.add({
    image: "../images/Cesium_Logo_overlay.png", // default: undefined
    show: true, // default
    position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
    pixelOffset: new Cesium.Cartesian2(0, -50), // default: (0, 0)
    eyeOffset: new Cesium.Cartesian3(0.0, 0.0, 0.0), // default
    horizontalOrigin: Cesium.HorizontalOrigin.CENTER, // default
    verticalOrigin: Cesium.VerticalOrigin.BOTTOM, // default: CENTER
    scale: 2.0, // default: 1.0
    color: Cesium.Color.LIME, // default: WHITE
    rotation: Cesium.Math.PI_OVER_FOUR, // default: 0.0
    alignedAxis: Cesium.Cartesian3.ZERO, // default
    width: 100, // default: undefined
    height: 25, // default: undefined
    sizeInMeters: false, // default
  });
}

实战中添加

   addBillboardsPrimitivesPlushWaring(list, dataType) {
      // item = JSON.parse(JSON.stringify(item)); // 数据隔离
      if (list.length === 0) {
        return;
      }
      billboards[dataType] = null;
      if (billboards[dataType] == null) {
        billboards[dataType] = this.cesium_viewer.scene.primitives.add(
          new Cesium.BillboardCollection()
        );
      }
      list.forEach((item) => {
        // item.attrs.moid = item.moid;
        if (item.coordinates) {
          billboards[dataType].add({
            id: { baseInfo: item },
            position: this.getPointPostion(
              Number(item.coordinates[0]),
              Number(item.coordinates[1])
            ),
            image: item.imgSrc,
            verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
            scale: 0.7,
            distanceDisplayCondition: new Cesium.DistanceDisplayCondition(
              0.0,
              1000000
            ),
          });
        } else {
          // console.log("数据错误", item)
        }
      });
    },

Label&Cesium.LabelCollection

面朝屏幕的文字

在这里插入图片描述
添加Label

function addLabel() {
  Sandcastle.declare(addLabel);
  scene.primitives.removeAll();
  const labels = scene.primitives.add(new Cesium.LabelCollection());
  labels.add({
    position: Cesium.Cartesian3.fromDegrees(-75.1641667, 39.9522222),
    text: "Philadelphia",
  });
}

设置字体

function setFont() {
  Sandcastle.declare(setFont);
  scene.primitives.removeAll();
  const labels = scene.primitives.add(new Cesium.LabelCollection());
  labels.add({
    position: Cesium.Cartesian3.fromDegrees(-75.1641667, 39.9522222),
    text: "Philadelphia",
    // CSS font-family
    font: "24px Helvetica",
    fillColor: new Cesium.Color(0.6, 0.9, 1.0),
    outlineColor: Cesium.Color.BLACK,
    outlineWidth: 2,
    style: Cesium.LabelStyle.FILL_AND_OUTLINE,
  });
}

PointPrimitive&Cesium.PointPrimitiveCollection

添加一个面前屏幕的点
在这里插入图片描述

function addPointPrimitive() {
  Sandcastle.declare(addPointPrimitive);

  const pointPrimitives = scene.primitives.add(
    new Cesium.PointPrimitiveCollection()
  );
  pointPrimitives.add({
    color: Cesium.Color.YELLOW,
    position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
  });
}

设置点的属性

function setPointPrimitiveProperties() {
  Sandcastle.declare(setPointPrimitiveProperties);

  const pointPrimitives = scene.primitives.add(
    new Cesium.PointPrimitiveCollection()
  );
  pointPrimitives.add({
    position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
    show: true, // default
    color: Cesium.Color.SKYBLUE, // default: WHITE
    pixelSize: 10, // default: 1
    outlineColor: Cesium.Color.YELLOW, // default: TRANSPARENT
    outlineWidth: 3, // default: 0
  });
}

添加多个点


function addMultiplePointPrimitives() {
  Sandcastle.declare(addMultiplePointPrimitives);

  const pointPrimitives = scene.primitives.add(
    new Cesium.PointPrimitiveCollection()
  );
  pointPrimitives.add({
    position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
    color: Cesium.Color.RED,
    pixelSize: 5,
  });
  pointPrimitives.add({
    position: Cesium.Cartesian3.fromDegrees(-80.5, 35.14),
    color: Cesium.Color.BLUE,
    pixelSize: 10,
  });
  pointPrimitives.add({
    position: Cesium.Cartesian3.fromDegrees(-80.12, 25.46),
    color: Cesium.Color.LIME,
    pixelSize: 20,
  });
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/564449.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【c++】vector模拟实现与深度剖析

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 vector涉及到许多细节问题,比如双层深拷贝,迭代器失效等,本篇文章我们通过模拟实现来深度理解这块的内容 目录 1.基本框架2.构造和销毁3.元素访问4.获取…

STM32-DMA(软件出发、硬件触发)

DMA --为cpu减负 DMA简介 直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。两个DMA控制器有12个通道(DMA1有7个通道,DMA2…

广西桂林最大的模板厂——贵港市能强优品木业有限公司

贵港市能强优品木业有限公司是广西桂林地区最大的建筑模板厂家,拥有着25年的丰富生产经验。该公司以生产高品质的建筑覆膜板而闻名,其产品质量稳定,使用寿命长,深受广大客户的一致好评。 作为一家知名的建筑模板生产厂家&#xff…

Idea:通义千问插件

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、通义千问大模型 二、程序编写助手 三、Idea安装通义千问插件 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、通义千问大模型…

为什么感觉 C/C++ 不火了?

所谓火不火的,说白了就是用的人数的多少。哪个东西使用的人或者说围观的人多了,自然就被认为是火了。 编程语言层级从低级语言到高级语言熟悉的人数从来都是一个金字塔模型:在开始前我有一些资料,是我根据网友给的问题精心整理了…

MySQL常用命令和函数的讲解以及表之间的联结

Mysql的中一些语句的用法: 有表: CREATE TABLE book (id int(20) NOT NULL,book_name varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 书名,press varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NUL…

数据结构之二叉搜索树底层实现洞若观火!

目录 题外话 正题 二叉搜索树 底层实现 二叉搜索树查找操作 查找操作思路 查找代码实现详解 二叉搜索树插入操作 插入操作思路 插入代码详解 二叉搜索树删除操作 删除操作思路 删除代码详解 小结 题外话 我的一切都是党给的,都是人民给的,都是家人们给的!! 十分感…

IDEA使用中, 设置平展软件包。使用IDEA遇到的问题:src里为什么创建包为什么不在包里面

使用IDEA遇到的问题:src里为什么创建包为什么不在包里面 如下图所示 : 点击齿轮设置 如何搞回来? 看下面的Flatten Packages(平展软件包)取消掉。

C++学习之C++11标准

目录 一,列表初始化 二,initializer_list 三,auto与decltype 1)auto 2)decltype 四,nullptr 五,范围for 六,新加容器 1)array 2)forward_list 3&a…

Zabbix 监控系统:监控Windows端

目录 前言 1、zabbix Windows客户端安装包下载 2、安装zabbix Windows客户端 3、 查看zabbix.Agent是否正在运行 4、Zabbix Web 界面配置 5、模拟故障(关闭Windows 10机器) 6、Zabbix Web 界面验证故障信息 前言 Zabbix是一种开源的网络监控系统…

小扎万字深度访谈:最强开源大模型Llama 3发布,Meta的AGI路径和开源哲学

今天Meta发布了史上最强开源大模型Llama 3,一口气发布了 8B 和 70B 2个预训练和指令微调模型,对比同级别的参数模型,性能上均达到了最佳。 此外,Meta还发布了基于Llama 3的AI助手Meta AI,可以在Facebook、Instagram、W…

优化器与优化策略的搭配

在深度学习中不同的optimizer 通常会选择不同 优化策略 lr_sheduler 与之搭配; 1. SGD 与 Adam 优化器 Adam 与经典 SGD 的不同之处在于, Adam 执行局部参数更新(即在参数级别进行更改),而不是全局执行此操作的 SGD…

非计算机专业考软考高项有必要吗?

我认为这非常重要。 看了你的介绍,如果你已经考取了会计证书,而且想要考取计算机专业的证书,或者你的职业规划涉及到计算机岗位,又或者你对计算机感兴趣,我建议你优先考虑软考,因为这个证书的含金量是有保…

冯喜运:4.22晚间欧市支撑阻力:现货黄金+美原油走势及操作建议

【黄金消息面解析 】:周一(4月20日)欧市早盘,现货黄金短线加速跳水,金价目前跌向2350美元/盎司关口,日内崩跌逾40美元。美国定于周五公布的个人消费支出(PCE)物价指数预计将显示,3月PCE物价指数同比增幅将从2月份的2.5…

Linux 安装 Docker +Docker Compose + cucker/get_command_4_run_container

TIP:下面演示的 Linux 系统为 CentOS 7.9。 Docker 更新你的系统并安装必要的依赖项: sudo yum update -y sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加 Docker 的官方仓库: sudo yum-config-manager --add-rep…

什么是 PCIe 及其工作原理?

什么是外围组件互连 Express (PCIe)? 外围组件互连 Express (PCIe) 是一种高速串行计算机扩展总线标准,可将设备连接到主板。 它于 2004 年首次推出,作为以前 PCI 和 AGP 方式的替代。 PCIe 允许处理器和各种扩展卡(例如显卡、声…

上市公司数字化转型速度测-含代码及原始数据(2000-2022年)

数据来源:Wind数据库、企业年报时间跨度:2000-2022年 其中吴非、赵宸宇版本的数据是从2000到2022年;袁淳版本和李瑛玫版本的数据均是从2001-2022年。数据范围:上市公司数据指标:计算了三份测算数字化转型速度的数据。其…

关系抽取与属性补全

文章目录 实体关系抽取的任务定义机器学习框架属性补全 实体关系抽取的任务定义 从文本中抽取出两个或者多个实体之间的语义关系;从文本获取知识图谱三元组的主要技术手段,通常被用于知识图谱的补全。美丽的西湖坐落于浙江省的省会城市杭州的西南面。&am…

基于SSM+Jsp+Mysql的文物管理系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

可视化大屏可不是花架子,绝对有实用价值。

Hello,我是大千UI工场,不少老铁觉得可视化大屏就是花架子,是取悦领导的,那真是不懂可视化大屏的价值。欢迎友友们关注、评论,如果有订单可私信。 可视化大屏并不是花架子,而是一种实际有效的工具&#xff0…