首页 / 浏览问题 / 三维GIS / 问题详情
cesium中面实体的label无法贴s3m模型
11EXP 2023年09月13日

你好,我想问下,为什么使用entity加载的polygon带上了label,但是无法像面实体一样贴在s3m模型的表面呢?我设置了 heightReference: Cesium.HeightReference.CLAMP_TO_GROUND这个属性,但是是贴地表,没有贴在模型表面呢,或者这个效果有什么其他的方式可以实现吗?label文字是不固定的

1个回答

您好,

HeightReference接口下的三种方法分别为:

CLAMP_TO_GROUND 贴地面

NONE 绝对高度

RELATIVE_TO_GROUND 相对地面的高度

如果要贴对象,可以使用 clampToS3M: true,该参数为entity对象的参数,使用方法如下
            var polygon = viewer.entities.add({
                    polygon: {
                    hierarchy: {
                        positions: [new Cesium.Cartesian3.fromDegrees(103.808874884716, 30.6618438948975, 0.449),new Cesium.Cartesian3.fromDegrees(103.809516962045, 30.6622166526969, 0.447),new Cesium.Cartesian3.fromDegrees(103.809787219443, 30.6618685901869, 3.447),new Cesium.Cartesian3.fromDegrees(103.809150007665, 30.6615278368998, 0.207)]},
                        material: Cesium.Color.BLUE.withAlpha(0.5),
                        clampTos3m: true
                        }
                    })
4,151EXP 2023年09月14日
我想要的是label贴在三维模型上呢,不是entity实体贴三维模型呢;

或者说文字贴在三维模型上有没有什么比较好的处理方式呢?
你好,有时间帮忙看一下吗?你们的回答没有解决问题就不见人影了呢
您好

label并不能“贴”在三维模型上,没有对应的接口

只能通过position对对象进行位置设置,可以通过获取模型点位的最高高程去设置
...