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的一样

最新文章

  1. hibernate-mapping-3.0.dtd;hibernate-configuration-3.0.dtd;hibernate.properties所在路径
  2. SecureCRT如何与Linux虚拟机进行关联
  3. Chrome
  4. linux下epoll如何实现高效处理百万句柄的
  5. MyEclipse基础配置
  6. Oracle出现字符集问题处理方法
  7. Windows server2008/2012 安装oracle 11 创建实例HANG住在百分之2
  8. $.post()请求 ation请求,jsp获取的处理结果
  9. .PIG File
  10. Java Annotation 必须掌握的特性
  11. eMMC的MMC模式与SPI模式
  12. 深入了解mysql它BDB系列(1)---BDB基础知识
  13. activiti入门2流程引擎API和服务基础设施
  14. wcf消息模式(随记)
  15. Sqlserver 2008安装
  16. velocity的宏
  17. [Qt Quick] No rule to make target问题解决办法
  18. python基础之小数据池、代码块、编码和字节之间换算
  19. Java中array、List、Set互相转换
  20. springboot 文件上传大小配置

热门文章

  1. Java阻塞队列中的异类,SynchronousQueue底层实现原理剖析
  2. IIS部署WebApi跨域不生效
  3. 关于 python3 中的多线程的问题及理解
  4. 4.7:Hive操作实验
  5. 2.10:数据加工与展示-pandas清洗、Matplotlib绘制
  6. JavaEE Day14 Servlet&HTTP&Request
  7. Docker容器入门到精通
  8. Redis——02 学习
  9. vue 强制刷新数据 this.$forceUpdate()
  10. uniapp 微信小程序 改变头部的信号、时间、电池显示颜色