2023-01-14

改了下思路,直接根据点击的位置转换为世界坐标系再添加label

          console.log(`鼠标点击位置为:${click.position}`);

          var cartesian = that.viewer.scene.globe.pick(that.viewer.camera.getPickRay(click.position),that.viewer.scene);

          console.log(`世界坐标:${cartesian}`);
// 世界坐标转换为弧度
var ellipsoid = that.viewer.scene.globe.ellipsoid;
var cartographic = ellipsoid.cartesianToCartographic(cartesian);
console.log(`弧度:${cartographic}`);
// 弧度转换为经纬度
var lon = Cesium.Math.toDegrees(cartographic.longitude); // 经度
var lat = Cesium.Math.toDegrees(cartographic.latitude); // 纬度
console.log(`经度:${lon},纬度:${lat}`);
console.log(height); // 创建label
that.createOnlyLabel(lat,lon,height,info);
    createOnlyLabel(latitude,longitude,height,text){

      if(Cesium.defined(this.infoBoard)){
console.log("Cesium.defined(this.infoBoard)"); this.infoBoard.position = new Cesium.Cartesian3.fromDegrees(longitude, latitude,height);
this.infoBoard.label.text = text;
return;
}
//添加弹出信息
var infoBoard = this.viewer.entities.add({
// id:5,
position:new Cesium.Cartesian3.fromDegrees(longitude, latitude,height),
//设置朝向和翻滚角度
// orientation:orientation,
label: {
//文字标签
text: text,
font: '500 30px Helvetica',// 15pt monospace
scale: 0.8,
style: Cesium.LabelStyle.FILL,
fillColor: Cesium.Color.WHITE,
// pixelOffset: new Cesium.Cartesian2(-8, -35), //偏移量
showBackground: true,
backgroundColor: new Cesium.Color(0.5, 0.6, 1, 1.0)
},
})
this.infoBoard = infoBoard;
},

2023-01-10

没成功,记录一下怎么失败的,以后会了来更新

1.Cesium3DTileset :瓦片集

2.Cesium3DTile(瓦片集中的单个瓦片) :通过Cesium3DTileset.tileVisible来获取单个瓦片

3.Cesium3DTileContent(单个瓦片中的所有的要素集合组成内容) 通过Cesium3DTile.content来获取。内部通过 batch table来存储每个Feature的索引

4.Cesium3DTileFeature(单个瓦片内容(要素集合)中单个要素) 通过 Cesium3DTileContent.getFeature() 获取 这里面就存储的每一个要素的id 等属性信息。

按理来说Cesium3DTile里就是每一个瓦片自己的信息,但是

        console.log(`鼠标点击位置为:${click.position}`);
console.log(`当前模型的bounding:${pickedFeature.content._tile.boundingSphere.center}`);

每个tile的boundingsphere都是一样的...

也看过_selectedTiles,里面的boundingsohere也是和tileset的一样

Cesium给3dtileset中的每个瓦片添加一个billboard/label(六)的更多相关文章

  1. 为data中的某一个对象添加一个属性不起作用——this.$set的正确使用

    this.$set(obj, key, value) 我们在项目开发的过程中,经常会遇到这种情况:为data中的某一个对象添加一个属性 <template> <div class=& ...

  2. 在vs中怎样一次性的添加一个文件夹到解决方案里

    这个方法通常用到编译源码库方面,在这里我以编译静态库为例: 1.首先建立自己的工程Mytest 第二步 选择静态库 点击finish 完成工程的建立 第三步 点击PROJECT菜单项 选中Show A ...

  3. 使用layui 做后台管理界面,在Tab中的链接点击后添加一个新TAB的解决方法

    给链接或按钮  添加 onclick="self.parent.addTab('百度','http://www.baidu.com','icon-add')" 如: <a h ...

  4. easyui 后台页面,在Tab中的链接点击后添加一个新TAB的解决方法

    1.示例1 新增一个按钮 添加点击事件 onclick="self.parent.addTab('百度','http://www.baidu.com','icon-add')" 如 ...

  5. Hadoop学习笔记—13.分布式集群中节点的动态添加与下架

    开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如何动态(不关机且正在运行的情况下)地添加一个Hadoop节点与 ...

  6. Step by step 活动目录中添加一个子域

    原创地址:http://www.cnblogs.com/jfzhu/p/4006545.html 转载请注明出处 前面介绍过如何创建一个域,下面再介绍一下如何在该父域中添加一个子域. 活动目录中的森林 ...

  7. 如何在RCP程序中添加一个banner栏

    前言:这段时间还算比较空闲,我准备把过去做过的有些形形色色,甚至有些奇怪的研究总结一下,也许刚好有人用的着也不一定,不枉为之抓耳挠腮的时光和浪费的电力.以前有个客户提出要在RCP程序中添加一个bann ...

  8. C# 利用占位符替换word中的字符串和添加图片

    利用占位符替换word中的字符串和添加图片   ///<summary>         /// 替换word模板文件内容,包括表格中内容         /// 调用如下:WordStr ...

  9. 在VS中向命令行添加参数的方法

    在VS中向命令行添加参数的方法 在VS中向命令行添加参数,即向main()函数传递参数的方法: 右键单击要 添加参数的工程-->属性-->配置属性-->调试,在右侧“命令参数”栏输入 ...

  10. 每日学习心得:SharePoint 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容

    前言: 这里主要是针对列表中的文件下新增子项的操作,同时在新建子项时,可以为子项指定特定的内容类型,在某些时候需要查询指定的文件夹下的内容,针对这些场景都一一给力示例和说明,都是一些很小的知识点,希望 ...

随机推荐

  1. vulnhub靶场之HACKSUDO: THOR

    准备: 攻击机:虚拟机kali.本机win10. 靶机:hacksudo: Thor,下载地址:https://download.vulnhub.com/hacksudo/hacksudo---Tho ...

  2. 初始化一个ArrayList的多种方式

    序言 本片文章用于归纳java中初始化一个ArrayList的几种方式 add方法添加 最基础的方式就是我们在new一个ArrayList之后使用add方法添加元素 /** * 第一种方式,通过add ...

  3. K8S 核心组件 kubelet 与 kube-proxy 分析

    kubelet kubelet 进程用于处理master 下发的任务, 管理pod 中的容器, 注册 自身所在的节点. 节点管理 启动参数说明 --register-node #如果设置为true 则 ...

  4. 跳出foreach循环

    直接return false没用,需要用throw来跳出foreach 1 try { 2 this.categoryList.forEach((item, index) => { 3 if ( ...

  5. Jenkins基本配置

    1.Configure System (系统设置) 在系统设置这里,只需要设置最后面的一项,配置远程服务器地址,即代码最终运行的服务器地址信息,当然这里是可以配置多台远程Linux服务器的,配置完成后 ...

  6. 连表操作join 子查询 SQL补充 数据库软件navicat pymysql模块

    目录 多表查询的两种方法 方式1:连表操作 方式2:子查询 SQL补充知识点 1.分组之前字段拼接 concat concat_ws 2.SQL执行判断条件 exists 3.表相关SQL补充 修改表 ...

  7. Logseq001笔记类--视频悬浮插件--Helium

    这是我准备新开的学习记录系列之一 今天写一个插件的介绍吧-- Helium -- 视频悬浮插件 youtube/b站/本地视频都可以导入 主要功能就是你在看视频时,要记一些学习笔记,随着不断往下写,视 ...

  8. IIS服务没有Windows身份验证

    解决方法: 1.打开 C:\Windows\servicing\Packages,查找文件Microsoft-Windows-IIS-WebServer-AddOn-2-Package~31bf385 ...

  9. Jmeter 之吞吐量控制器

    作用: 吞吐量控制器可用来模拟混合场景的压测业务,即一部分用户执行场景A,一部分用户执行场景B 字段说明: Total Excutions:执行请求总数 Percent Excutions:执行线程数 ...

  10. JavaScript:严格模式"use strict"

    因为历史遗留问题,JS其实存在很多feature,以及兼容性问题: 所以JS在ES5之后,新增了一个严格模式,以区别于普通模式,用来激活新的特性,使得某些代码的执行准确无误: 如何开启严格模式? 在J ...