Cesium 添加图片无法正常显示,显示为白色

问题

使用Cesium在地球上添加图片,打开控制台(勾选disable cache)时图片正常显示,关闭控制台则显示为白色。
(背景:使用 Cesium在球上添加图片(四个坐标点) 的方法添加了图片)
关闭disable cache选项后,发现控制台报错跨域(禁用缓存时没有该报错):
image

解决

引用静态地址

放在assetes中的静态图片可以参照这个办法:(Vue)使用cesium添加图片无法正常显示(白屏)

引用动态地址

我这边是接口返回的动态地址,使用new Image()对象,在load()后再加载Cesium方法。←方法可以一试,但我遇到的问题原因不在这里,是古怪的跨域问题,后端用nginx代理再做了什么修改搞定的。

let image = new Image();
image.onload = function() {
    let newEntity = viewer.entities.add({
        id: id,
        polygon: {
            hierarchy: Cesium.Cartesian3.fromDegreesArray([
                Number(data.dataLowerLeftLong),
                Number(data.dataLowerLeftLat),
                Number(data.dataLowerRightLong),
                Number(data.dataLowerRightLat),
                Number(data.dataUpperRightLong),
                Number(data.dataUpperRightLat),
                Number(data.dataUpperLeftLong),
                Number(data.dataUpperLeftLat),
                Number(data.dataLowerLeftLong),
                Number(data.dataLowerLeftLat)
            ]),
            material: new Cesium.ImageMaterialProperty({image: image})
        }
    });
    viewer.flyTo(newEntity);
};
image.src = data.browseImage;
posted @   宇宙野牛  阅读(1201)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示