Cesium 添加图片无法正常显示,显示为白色
问题
使用Cesium在地球上添加图片,打开控制台(勾选disable cache)时图片正常显示,关闭控制台则显示为白色。
(背景:使用 Cesium在球上添加图片(四个坐标点) 的方法添加了图片)
关闭disable cache选项后,发现控制台报错跨域(禁用缓存时没有该报错):
解决
引用静态地址
放在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;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!