Цезиевый рекламный щит Холст становится черным
Поэтому я динамически создаю и обновляю всплывающие окна в своем приложении Cesium, и оно отлично работает. Однако через некоторое время после запуска приложения рекламные щиты становятся черными и остаются черными, пока я не обновлю страницу. У кого-нибудь есть предложения по исправлению этой ошибки?
Следующий код является основой того, что я делаю, loadPopup() отвечает за создание рекламного щита с холстом в качестве элемента изображения. updatePopup() вызывается синхронно, так как приложение запущено для обновления позиции элемента billboard.
//creates the popup first
function loadPopup(id, type, name, data) {
viewer.entities.add({
id : id,
name : name,
position : data.position,
billboard : {
image : createPopupCanvas(id, type, name, data),
verticalOrigin : Cesium.VerticalOrigin.BOTTOM,
scaleByDistance : new Cesium.NearFarScalar(1500, 2, 80000000, 0.25)
}
});
}
//updates popup synchronously
function updatePopup(id, type, name, data) {
var newPosition = Cesium.Cartesian3.fromDegrees(data.lon, data.lat, 99999);
var currPopup = viewer.entities.getById(id);
if (currPopup != undefined) {
currPopup.position = newPosition;
}
}
//creates a canvas element to display some stuff from the data table
function createPopupCanvas(id, type, name, data) {
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
context.fillText(data.stuff1, id, 105, 60);
context.fillText(data.stuff2, id, 105, 70);
return canvas;
}