我有一个ol 3.10.1地图,其目标是动态地重绘图层的特征。在前往那里的路上,我使用了source.clear()函数。奇怪的是,source.clear()实际上在当前缩放级别清除了图层中的特征,但放大或缩小特征时仍然存在。我使用source.clear()函数的方法是否正确?请参阅我用于测试目的的代码段。
103, 507, 603, 514, 415, 117, 741, 895, 854
我使用setTimout()函数让这些功能在应该被清除之前显示几秒钟。
请建议。
答案 0 :(得分:0)
更新:http://jsfiddle.net/jonataswalker/ayewaz87/
我忘记了,对于每个分辨率,OL会一次又一次地加载您的功能。因此,如果您想一劳永逸地删除,请使用自定义加载器,请参阅小提琴。
您的源是异步加载的,因此在准备就绪时设置超时:
CITYClusterSource.once('change', function(evt){
if (CITYClusterSource.getState() === 'ready') {
// now the source is fully loaded
setTimeout(function () { CITYClusterSource.clear(); }, 5000);
}
});
请注意once
方法,您可以使用on
代替它。