解决Cesium在模型上显示Entity-Point出现移动漂移的问题

场景:在模型上编辑面的时候回显点进行拖拽导致点一直被模型盖住了解决方案。

1.在 绘制/编辑 之前添加

  this.viewer.scene.globe.depthTestAgainstTerrain = true;
    //开启地形

2.设置entity

   let pointEntity = this.viewer.entities.add({
                        name: 'gon_point',
                        position: cartesian3,
                        point: {
                            color: Cesium.Color.WHITE,
                            pixelSize: 20,
                            outlineColor: Cesium.Color.BLACK.withAlpha(0.5),
                            outlineWidth: 5,
                            disableDepthTestDistance: positionsList[i].z,
                            // disableDepthTestDistance: 1000,
                            // distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, positionsList[i].z + 2500),
                            // height: 0,
                            heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
                        },
                        // viewFrom: new Cesium.Cartesian3(-100, 0, 100),
                    });

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Cesium是一个JavaScript库,可以用于创建3D地球和地理信息应用程序。要在Cesium中绘制模型上的蚂蚁线,可以使用Cesium的实体(Entity)和位置插值(PositionInterpolator)功能。 以下是一个简单的示例代码,展示如何在Cesium中绘制模型上的蚂蚁线: ```javascript // 创建一个实体 var entity = viewer.entities.add({ position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883), model: { uri: 'path/to/model.gltf' } }); // 创建一个位置插值器 var interpolator = new Cesium.SampledPositionProperty(); // 添加一些位置样本 interpolator.addSample(Cesium.JulianDate.now(), entity.position.getValue()); interpolator.addSample(Cesium.JulianDate.addSeconds(Cesium.JulianDate.now(), 5, new Cesium.JulianDate()), Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 5000)); interpolator.addSample(Cesium.JulianDate.addSeconds(Cesium.JulianDate.now(), 10, new Cesium.JulianDate()), entity.position.getValue()); // 创建一个蚂蚁线实体 var polyline = viewer.entities.add({ polyline: { positions: interpolator, width: 5, material: new Cesium.PolylineDashMaterialProperty({ color: Cesium.Color.RED }) } }); ``` 这段代码使用Cesium的 `viewer` 对象创建了一个实体,该实体包含一个3D模型。然后,创建了一个位置插值器,向其添加了一些位置样本,这些位置样本定义了蚂蚁线的路径。最后,创建了一个蚂蚁线实体,将位置插值器设置为其位置,同时指定了蚂蚁线的宽度和颜色。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值