温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Cesium左键点击模型效果怎么实现

发布时间:2021-12-28 16:52:52 来源:亿速云 阅读:638 作者:柒染 栏目:大数据

这篇文章给大家介绍Cesium左键点击模型效果怎么实现,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Cesium的样例中,有一个3D Tiles Feature Picking,鼠标划过模型,会在模型上显示一个选中框,在模型旁边浮现一个名称标签,点击3dtiles中的模型,会高亮显示框,并且弹出模型的详细信息。

Cesium左键点击模型效果怎么实现

直接拿过来使用其中的代码,发现这个点击效果,是要根据模型(3dtile)的实际情况进行代码修改,鼠标点击到的模型是b3dm格式的,Cesium有详细的文件格式说明,不过文件的有些部分需要可以进行省略,所以,导致不是每个3dtile的图层都是一样。

b3dm文件格式参见网址:https://github.com/AnalyticalGraphicsInc/3d-tiles/blob/master/TileFormats/Batched3DModel/README.md

在实际的代码中,按照以下情况进行修改,完全代码参照文章开头的网址,以下只对关键代码进行解释: 

        if (Cesium.defined(highlighted.feature)) {

//此代码处,要根据模型,判断feature中是否存在color的属性,否则设置不成功

            highlighted.feature.color = highlighted.originalColor;

            highlighted.feature = undefined;

        }

//要根据模型,判断feature中是否存在color的属性,否则设置不成功

        pickedFeature.color = Cesium.Color.LIME;

// 这处要判断是否有name的属性,这个和b3dm的batch Table和feature Table有关联,需看b3dm模型中是否有以上这些

        var featureName = pickedFeature.getProperty('name');

        selectedEntity.name = featureName;

        selectedEntity.description = 'Loading <div class="cesium-infoBox-loading"></div>';

        viewer.selectedEntity = selectedEntity;

        selectedEntity.description =  .............;

在MOUSE_MOVE和LEFT_CLICK都有对应的代码,需要同时都进行修改。

关于Cesium左键点击模型效果怎么实现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI