我有一个大的地图应用程序,所以为了代表我将只提供一大块代码.所以,这是我尝试从地图中删除所有图层的方式:
map.getLayers().forEach(function (layer) {
map.removeLayer(layer);
});
//map.getOverlays().clear(); <-- also tried this,but to no effect
而且我有一些随机的行为 – 有时候所有的图层都会删除,有时则不会.这是完全随机的,因此无法保证您将能够重现此问题.所以,我可能只是在概念上知道它为什么会发生.
解
这显然是一个ol3错误,因为如果我循环和删除两次,那么它开始工作:
map.getLayers().forEach(function (layer) {
map.removeLayer(layer);
});
//for some crazy reason I need to do it twice.
map.getLayers().forEach(function (layer) {
map.removeLayer(layer);
});
最佳答案
原文链接:https://www.f2er.com/js/429105.html