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

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

时间:2023-02-01 15:13:10浏览次数:62  
标签:console log 3DTile pickedFeature Cesium 属性 3074311 加载

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  
![](/i/l/?n=23&i=blog/3074311/202301/3074311-20230107150916984-1888697950.png)

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

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

输出看一下

console.log(pickedFeature.getProperty("name"));
 ![](/i/l/?n=23&i=blog/3074311/202301/3074311-20230107151233207-475221451.png)

成功

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);
    })

本文转自 https://www.cnblogs.com/LJXXXX/p/17032674.html,如有侵权,请联系删除。

标签:console,log,3DTile,pickedFeature,Cesium,属性,3074311,加载
From: https://www.cnblogs.com/hustshu/p/17082689.html

相关文章

  • JVM之类加载子系统与双亲委派机制
    JVM之类加载子系统与双亲委派机制一、类加载子系统1.类加载子系统负责从文件系统或者网络中加载class文件,class文件在文件开头有特定的文件标识,JVM并不是通过检查文件后缀是......
  • 08-SO加载解析过程
    1JAVA层函数调用关系本文通过分析Android 4.4版本的源码,了解linker是如何加载并链接SO文件。在阅读本文之前,读者最好阅读有关ELF的文件格式,可以阅读《ELF文件结构学习》......
  • 类加载器和双亲委派机制
    类加载器类加载器可以分为三种:引导类加载器(根加载器BootstrapClassLoader):负责加载jre/rt.jar核心类库它本身不是java代码实现的,也不是ClassLoader的子类,获取该......
  • 类加载过程
    类加载过程当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载、连接、初始化三个步骤来对该类进行初始化,如果没有意外,JVM将会连续完成这三个步骤,所以有时......
  • vue.js客服系统实时聊天项目开发(十四)点击加载展示历史消息列表
    当访客一进去聊天界面以后,需要获取一下历史消息展示到界面,并且需要能分页的原理展示  在顶部有一个加载更多记录的按钮,点击就能按分页获取数据//展示......
  • 图片懒加载
    前言影响网页性能最主要的因素应该属图片资源了,现在一张图片动不动几兆,如果一张页面有很多图片(像电商类网站),等页面上的图片全部加载完毕再显示在浏览器上的话,用户可能早就......
  • 05-DALVIK加载和解析DEX过程
    5.1 dex和odex文件结构和关系      上图是Dex文件和Odex文件的结构和关系图。    应用程序在第一次启动app的时候,会在/dalvik/dalvik-cache目录下生成odex......
  • Cesium:文字转图片,图片贴到多边形上
    JS前端文字转图片:link缺点:需要在网页中有一个canvas。canvas.toDataURL("image/png")后端文字转图片:text-to-svgsvg2pnghttps://www.cnblogs.com/duasonir/p/16700591......
  • 网页版红警的资源加载的实现
    由于红警的资源比较大,红警2加上红警尤里复仇两个版本,还有二十多首高清无损的背景音乐,有一个G左右的大小,当用户打开网页玩耍的时候,总不能每次都下载一个G的资源吧。所以需要......
  • IDEA加载大文件时报错:The file size exceeds configured limit
    1,问题描述1Thefilesizeexceedsconfiguredlimit2,解决方案:配置一下idea.properties文件3,添加如下配置1idea.max.intellisense.filesize=500004,重启idea,完......