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. async.js 版本兼容问题 async.filter举例

    async3.x 和async2.6.1 版本下 const files = ['dir1/file1.txt','dir2/file3.txt','dir3/file6.txt']; // Usin ...

  2. 13-flask博客项目之restful api详解2-使用

    13-flask博客项目之restful api详解1-概念 13-flask博客项目之restful api详解1-概念 Flask-RESTful学习网站 英文:https://flask-res ...

  3. Flask初步认识

    1.Flask基本认识 Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展包(数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现.比如可以用 Flask 扩展加入ORM. ...

  4. “喜提”一个P2级故障—CMSGC太频繁,你知道这是什么鬼?

    大家好,我是陶朱公Boy. 背景 今天跟大家分享一个前几天在线上碰到的一个GC故障- "CMSGC太频繁". 不知道大家看到这条告警内容后,是什么感触?我当时是一脸懵逼的,一万个为 ...

  5. 3、swagger-ui导出word接口文档

    参考 1.修改swagger2word项目的 application.yml 文件的 swagger.url 为Swagger Json资源的url地址(网址+端口): 例:swagger.url: ...

  6. idea里面连接数据库进行sql操作

    常用写法 1. private static void test01() throws ClassNotFoundException, SQLException{ Class.forName(&quo ...

  7. 【c#】分享一个简易的基于时间轮调度的延迟任务实现

    在很多.net开发体系中开发者在面对调度作业需求的时候一般会选择三方开源成熟的作业调度框架来满足业务需求,比如Hangfire.Quartz.NET这样的框架.但是有些时候可能我们只是需要一个简易的延 ...

  8. 解决多次重连rabbitMQ失败

    项目中有用到rabbitMQ,但由于防火墙原因只有在SIT环境下才能连上rabbitMQ,在本地是无法连上rabbitMQ的.如下: 为了不影响调试,临时解决方法为禁止rabbitMQ打印日志.在lo ...

  9. Spring MVC的运行流程

    Spring MVC的运行流程 摘要:本文档主要结合官方给出的Spring MVC流程图结合一个简单的Spring MVC实例,分析并介绍了Spring MVC的运行流程. 目录 Spring MVC ...

  10. 【Vue3.0】关于 script setup 语法糖的用法

    script setup - 简介 先来看一看官网关于 <script setup> 的介绍: 要彻底的了解 setup 语法糖,你必须先明确 setup() 这个 组合式API 官网中对 ...