AmMaps MapImage 在 deleteObject() 调用后出现在 window resize/move 上

AmMaps MapImage appears on window resize/move after deleteObject() call on it

我需要在事件的地图点中显示脉冲星动画。我将圆形图像添加到地图并在一段时间后将其删除。我使用 CSS 为图像制作动画。一切正常,但如果我尝试调整 window 的大小,图像会再次出现并且之后再也不会被删除。

这是问题的截屏视频:

参见 codepen(事件使用 setTimeout() 进行说明)。

我是不是用错了删图或漏图的方法?

通常您应该在添加新图像时在整个地图上调用 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);

Updated codepen