Javascript 刷新后,OpenLayers弹出窗口在地图上仍然可见

Javascript 刷新后,OpenLayers弹出窗口在地图上仍然可见,javascript,popup,openlayers,Javascript,Popup,Openlayers,我正在为地图上的某些项目添加弹出窗口。我每30秒刷新一次元素。 问题是: 我将鼠标悬停在一个元素上,并将鼠标放在那里直到刷新 当我移开鼠标时,弹出内容仍然存在(只有在放大/缩小或拖动地图时,弹出内容才会消失) 我尝试删除整个图层并再次添加,删除所有标记,但没有更改 弹出窗口是否以某种方式缓存? 这可能是OpenLayers错误吗?您可能希望在刷新事件处理程序中关闭任何弹出窗口 可以通过地图访问。弹出窗口并在每个地图上使用切换或销毁或隐藏(取决于您的需要)。谢谢!每次刷新时,我都会对弹出窗口使

我正在为地图上的某些项目添加弹出窗口。我每30秒刷新一次元素。 问题是:

  • 我将鼠标悬停在一个元素上,并将鼠标放在那里直到刷新

  • 当我移开鼠标时,弹出内容仍然存在(只有在放大/缩小或拖动地图时,弹出内容才会消失)

我尝试删除整个图层并再次添加,删除所有标记,但没有更改

弹出窗口是否以某种方式缓存?
这可能是OpenLayers错误吗?

您可能希望在刷新事件处理程序中关闭任何弹出窗口


可以通过
地图访问。弹出窗口
并在每个地图上使用
切换
销毁
隐藏
(取决于您的需要)。

谢谢!每次刷新时,我都会对弹出窗口使用hide(不知道为什么我之前没有这么做)@AlexandraChis因为hide可能会保留引用(因此会占用内存),如果弹出窗口不再有用,你可能更喜欢使用destroy。我正在显示可以随时增长的元素列表(这就是我不断刷新它的原因)。我不明白为什么一开始破坏整个图层不起作用。我将尝试销毁并告诉您它是如何工作的。@AlexandraChis您可以看到,弹出窗口不是由图层引用的,而是直接由地图引用的。这就是它不起作用的原因。