有没有办法在openlayers 5中强制重新加载/刷新地图?

有没有办法在openlayers 5中强制重新加载/刷新地图?,openlayers,openlayers-5,Openlayers,Openlayers 5,使用openlayers 5,我遇到了一个问题,即删除几何体后几何体仍然存在于地图上-似乎地图没有正确更新。有没有办法强制更新/刷新地图及其功能?在文档中找不到与此相关的任何内容 尝试使用map.render,但似乎也不起作用 在我的VectorSource对象上调用.getFeatures会显示几何体/对象不在功能列表中,但它仍然显示在我页面的地图上。[EDIT] 如OpenLayers v6.0.0中所述,您现在必须调用: 图层已更改 请尝试访问您的来源: layer.getSource()

使用openlayers 5,我遇到了一个问题,即删除几何体后几何体仍然存在于地图上-似乎地图没有正确更新。有没有办法强制更新/刷新地图及其功能?在文档中找不到与此相关的任何内容

尝试使用map.render,但似乎也不起作用

在我的VectorSource对象上调用.getFeatures会显示几何体/对象不在功能列表中,但它仍然显示在我页面的地图上。

[EDIT] 如OpenLayers v6.0.0中所述,您现在必须调用:

图层已更改 请尝试访问您的来源:

layer.getSource().refresh();
或者对所有层执行此操作:

map.getLayers().forEach(layer => layer.getSource().refresh());
如果仍然不起作用:

假设您的层是第一层,请尝试console.logmap.getLayers[0].getFeatures;。删除的功能是否已记录?如果是这样的话,这可能是一个参考问题。

[编辑] 如OpenLayers v6.0.0中所述,您现在必须调用:

图层已更改 请尝试访问您的来源:

layer.getSource().refresh();
或者对所有层执行此操作:

map.getLayers().forEach(layer => layer.getSource().refresh());
如果仍然不起作用:


假设您的层是第一层,请尝试console.logmap.getLayers[0].getFeatures;。删除的功能是否已记录?如果是这样,这可能是一个参考问题。

我实际上是在从地图上删除一个图层,但它仍然显示在地图上。如果我在控制台上查看并调用map.getLayers,它会显示该层已不在地图中,但我仍能看到它。我实际做的是从地图中删除一个层,但它仍显示在地图上。如果我在控制台上查看并调用map.getLayers,它会显示该层不再在地图中,但我仍然可以看到它。