cesium获取当前瓦片并转换为同一层级

在使用Cesium实现不同层级地名显示时,遇到层级错乱问题。通过监听获取当前层级瓦片,并通过递归将所有瓦片调整至同一最低层级,解决了地名加载重复和层级显示不正确的问题。
摘要由CSDN通过智能技术生成

最近在做一个cesium不同层级显示省市区等地名的功能,不同层级的地名加载的时候总会重复加载或者显示层级不对。

首先添加监听时刻获取当前层级瓦片:

viewer.scene.postRender.addEventListener(sss => {
    let tilesToRender = (viewer.scene.globe as any)._surface._tilesToRender;
 

返回的tilesToRender的数据格式

 

基于cesium瓦片加载的特点可能出现这种情况: 

 可以看到两边的瓦片层级比中间的瓦片层级高,因功能需要,要把当前的瓦片转换为同一层级才能获得理想的地名显示效果,当前瓦片更低的层级在瓦片对象QuadtreeTile的children属性里面。

写一个递归,全都转换为最低层级

    //全部转换为最低层级的瓦片
    convertTo
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值