Cesium 贴地 GeoJson覆盖Entity的线条/DataSources覆盖entity

我遇到的情况: 首先是需要开始地形,然后要进行 贴地 设置,然后我先加载了geojson,想在geojson绘制的线条基础上再通过entity增加一个线条覆盖再geojson上面,但是无论我设置zIndex还是其他什么,entity的线条都被geojson覆盖了。

原因: geojson是通过dataSources添加的,Cesium渲染的时候,entity会在dataSources之前渲染,而且zIndex只在同一个dataSources 内才会生效,所以设置zIndex也无效。

解决方法: 新画线条的时候,通过添加dataSources的方式画线条,这样后添加的,就会覆盖在之前的上面了。

绘制线条代码:

let pl_dataSources = new Cesium.CustomDataSource('polyline');
// 绘制路线
pl_dataSources.entities.add({
  polyline: {
    positions: new Cesium.Cartesian3.fromDegreesArrayHeights(draw_polyline_point),
    width: 6,
    material: Cesium.Color.fromCssColorString("#FF3C2E"),
    clampToGround: true,
    show: true
  }
});
viewer.dataSources.add(pl_dataSources);

删除线条代码:
就是删除添加线条的dataSources

gvEarth.dataSources.remove(pl_dataSources);

修改前

在这里插入图片描述

修改后
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值