首页 > 其他分享 >点击获取Cesium中加载的3DTile模型的属性信息

点击获取Cesium中加载的3DTile模型的属性信息

时间:2023-01-07 15:33:51浏览次数:39  
标签:console log 3DTile tileLoad pickedFeature Cesium 属性 加载

1.添加鼠标点击事件

    //鼠标单击左键事件
    viewer.screenSpaceEventHandler.setInputAction(function onm ouseClick( click ) {
    //自己需要写逻辑的地方
      
    },Cesium.ScreenSpaceEventType.LEFT_CLICK);

 

2.属性信息的位置

2.1 viewer.scene.pick(click.position)

      var pickedFeature = viewer.scene.pick(click.position);if(Cesium.defined(pickedFeature)){
        console.log(pickedFeature);
      }
Cesium.defined(value) 经常使用,用于判断object是否define
pickedFeature长这样: 类型是 Cesium3DTileFeature

 

 自然而然在文档里去找,找到了getProperty方法

 

 参数name也是就我们需要属性的名字,对应上一篇随笔中shp转3dtile时候shp的属性名称

输出看一下

console.log(pickedFeature.getProperty("name"));
 

 成功

 

2.2 tileset.tileLoad.addEventListener

Cesium3DTileset中有一个事件:tileLoad

 

 

输出一下tile看看是什么

    tileset.tileLoad.addEventListener(function(tile) {
      console.log(tile);
    })

 

 

 

里面有个content属性,截图没截出来,输出看看

 

 看看文档

 

 

注意到有个方法getFeature,返回值是Cesium3DTileFeature类型,是不是和2.1一样,那就简单了

 

 

    tileset.tileLoad.addEventListener(function(tile) {
      let featuresLength = content.featuresLength;
      console.log("要素数量为:");
      console.log(featuresLength);
      console.log("第一个要素属性为:");
      let feature = content.getFeature(0).getProperty("name");
      console.log(feature);
    })

 

 

标签:console,log,3DTile,tileLoad,pickedFeature,Cesium,属性,加载
From: https://www.cnblogs.com/LJXXXX/p/17032674.html

相关文章

  • 某dll劫持加载器样本分析
    目录Dll劫持,RobocraftBase.dll,调用1号导出函数LzSetArchive()load_10002BC0加载加密的jibmao.xml文件SRDI_10003320Dll劫持,RobocraftBase.dll,调用1号导出函数LzSetArch......
  • dremio 系统内部存储插件与自定义存储插件加载的区别
    dremio整体包含了两大类存储扩展,系统内部使用的,以及用户开发的,整体区别系统的目前是在dremio自己启动的时候就会注册以及使用的,比如加速反射的,home,元数据存储插件用......
  • 加载方法
    面试回来。主程提了一个问题,问Flash里面有几种加载资源的方式?应该有五种方式。第一种,普通加载。由URLLoader,Loader直接加载。第二种,是Embed元标签嵌入。第三种,是用applicat......
  • el-select懒加载
    有时候option选项太多,一次查询可能会返回上千条数据,这时候就需要懒加载,对数据进行分页查询在main.js中进行全局注册Vue.directive('el-select-loadmore',{bind(el,......
  • 流媒体篇:播放插件加载的时机
      客户端播放视频,是通过流媒体提供的一个插件,也可以看作是一个独立的程序。客户端启动以后,会直接拉起播放插件。  然后客户端点播的时候,会发送信息给播放插件(通过TCP......
  • mmdetection加载ndarray数据,并训练
    1.构造coco数据集,file_name为具体的ndarray文件名,类名的改变和class_num的配置和之前一样。保存的npy文件是归一化之后的结果2.修改数据加载代码,将2.修改网络输入inchann......
  • 反射2 - 类加载器
    类加载器Java的类主要分为3种Java核心类库:String,Object...JVM软件平台开发商自己声明定义的类:User,Child...相应的类加载器也有3种--Java17BootClassLoade......
  • InnoDB 表的批量数据加载
    概述加速innodb表的数据批量加载的方法解决方案将数据导入InnoDB时,关闭自动提交模式,因为它会为每次插入执行日志刷新到磁盘。要在导入操作期间禁用自动提交,请用 SE......
  • unity3d异步加载场景
    ​​unity3d​​​​loading界面​​​​异步加载​​​​进度条​​根据宣雨松前辈的教程来做的,因为我用到的场景不是在游戏里的那种(本人做增强现实的,完全把unity拿来做应......
  • 获取某地模型并用Cesium加载
     2023-01-04最近想用Cesium给学校做一个类似智慧校园的东西,要做的东西很多,首先是获取学校模型的问题,然后怎么用Cesium加载3Dtile 1.获取学校模型想到之前被老师抓苦......