billboard的显示不完整的问题

0 投票
316 浏览
添加一个标记billboard, 然后飞行过去,在飞的过程中,会发现 billboard图片显示不完整,

虽然设置:verticalOrigin: Cesium.VerticalOrigin.BOTTOM,属性,只能够缓解飞行完成后的显示

但不能解决 飞行过程中的问题。

特来请教小哥哥,小姐姐。下面是我的代码

ps:原生cesium中没问题,

/-------------------------------------supermap iclient for webgl---------------------------------------------/

<body>
<div id="cesiumContainer"></div>
<script>
    function onload(Cesium) {
        Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(50, -10, 170, 80);
        var viewer = new Cesium.Viewer('cesiumContainer', {
                imageryProvider : new Cesium.TiandituImageryProvider({
                credit : new Cesium.Credit('天地图全球影像服务     数据来源:国家地理信息公共服务平台 & 四川省测绘地理信息局')       
            })
        });

    viewer.entities.add({
        position : Cesium.Cartesian3.fromDegrees(120.1622583467, 33.3486260972,5),
        billboard :{
            image : 'https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/images/facility.gif',
            // verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
        }
    });
    
    viewer.camera.flyTo({
        destination : Cesium.Cartesian3.fromDegrees(120.1622583467, 33.3486260972,10000),
            duration : 5,
    });

    }

</script>
</body>

/----------------------------------Cesium demo----------------------------------------------------/

Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(50, -10, 170, 80);
var viewer = new Cesium.Viewer('cesiumContainer');

    viewer.entities.add({
        position : Cesium.Cartesian3.fromDegrees(120.1622583467, 33.3486260972),
        billboard :{
            image : '../images/facility.gif'
        }
    });
    
    viewer.camera.flyTo({
        destination : Cesium.Cartesian3.fromDegrees(120.1622583467, 33.3486260972,10000),
            duration : 5,
    });
最新提问 6月 13 分类:  316次浏览 | 用户: 549314804 才疏学浅 (11 分)

1个回答

0 投票
 
已采纳

你说的不完整是什么意思,截个对比图呢,我刚刚才试了没啥问题啊

最新回答 6月 13 用户: 胡林 名扬四海 (5,773 分)
采纳于 6月 13 用户:549314804

不好意思,忘记了

而且这个好像也不是地图瓦片的事。把图层全清除了也这样

    var imageryLayers = viewer.imageryLayers;
    imageryLayers.removeAll(true)
不是,我的意思是你把 billboard图片显示不完整这个现象截个对比图上来看看

辛苦了,谢谢。

测试了一下,加上这句代码应该可以解决你的问题:

viewer.scene.globe.depthTestAgainstTerrain = false;

电脑卡爆了,刚重启试了试,可以了。yes 谢谢。

...