我有ol.source.Vector
自定义功能加载器。我需要用新的功能完全替换现有的功能。所以这是加载器中的代码:
vectorSource.clear();
vectorSource.addFeatures(features);
问题是调用.clear()
会导致新功能加载和无限循环。 load->clear->load->clear...
这是正常行为吗?如何在添加之前清除功能?
答案 0 :(得分:0)
我倾向于认为这是正常行为。为了避免无限循环,您应该从vectorSource.clear()
外部调用loader
,并让它知道vectorSource
已清空。然后,您将在loader
函数上更改一些参数。
由于您没有足够的代码显示,我建议如下:
var cleared = false;
vectorSource.on('clear', function(evt){
cleared = true;
});
内部装载程序功能:
loader: function(){
if(cleared) {
//some logic
}