cesium 按需加载实体(entity)

欢迎关注微信公号【三维网格3D】,第一时间获取最新文章

我们在使用cesium时,常常会有需要加载中国各地区名称的需求,然而cesium中能够添加的entity的数量是有上限的,当加载到一定数量时就会出现卡顿甚至是浏览器崩溃的情况,这时候就需要按需加载我们的实体类,接下来就给大家介绍一种按需加载的方式,在鼠标移动结束后根据当前地图层级判断是否显示或者删除实体entity

1、创建一个地球

生成地球以后是这样的,外面的黄色的线就是层级网格线


2、加载数据

接下来我们加载将要作为示例的区域数据,我们打印一下可以发现,当前数据量达到了13w,远远超过了cesium所能容纳的实体数量

此次加载的json数据格式

3、实现按需加载


4、总结

实现方法和实现的思路都在注释中详细的讲解了,这肯定不是唯一的一种实现方式,也不是最好的一种实现方式,但我觉得这是最容易理解和上手的方法,不需要对cesium有非常的高的熟练度也能看懂并且能直接使用。

关键点

加载json数据,创建实体,控制加载实体的瓦片层级

获取当前被渲染的瓦片构成的集合,通过求并集拼成一个大的矩形(也许称为范围可能更合适,但是毕竟使用的是矩形方法)

根据矩形方法判断点是否在矩形中,如果在,则加载当前实体,否则删除当前实体

欢迎关注微信公号【三维网格3D】,第一时间获取最新文章

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容