我需要在事件的地图点显示脉冲星动画。我将圆形图像添加到地图中并在一段时间后将其删除。我使用CSS为图像设置动画。一切正常,但如果我尝试调整窗口大小,图像会再次出现,并且在之后永远不会删除。
请参阅codepen(使用setTimeout()
说明事件)。
我使用错误的方法删除图像或丢失smth吗?
答案 0 :(得分:0)
通常,您在添加新图片时应该在整个地图上调用validateData()
或validateNow()
。由于您使用tap.validate()
添加单个图片,因此您必须利用一些类似于this ticket中建议的内部API来实现这一目标。使用您的代码作为基础:
tap.validate();
this.map.dataProvider.images.push(tap);
// add to internal objects
this.map.imagesProcessor.allObjects.push(tap);
this.map.imagesProcessor.allSvgObjects.push(tap.displayObject);
tap.parentArray = map.dataProvider.images;
setTimeout(() => {
tap.deleteObject();
}, 1000);