【发布时间】:2018-02-07 11:35:59
【问题描述】:
我需要在事件的地图点上显示脉冲星动画。我将圆形图像添加到地图并在一段时间后将其删除。我使用 CSS 为图像设置动画。一切正常,但如果我尝试调整窗口大小,图像会再次出现,之后再也不会被删除。
请参阅codepen(使用setTimeout() 说明事件)。
我是否使用了错误的方法来删除图像或丢失smth?
【问题讨论】:
标签: javascript html css maps amcharts
我需要在事件的地图点上显示脉冲星动画。我将圆形图像添加到地图并在一段时间后将其删除。我使用 CSS 为图像设置动画。一切正常,但如果我尝试调整窗口大小,图像会再次出现,之后再也不会被删除。
请参阅codepen(使用setTimeout() 说明事件)。
我是否使用了错误的方法来删除图像或丢失smth?
【问题讨论】:
标签: javascript html css maps amcharts
通常,在添加新图像时,您应该在整个地图上调用 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);
【讨论】: