在构造几何体时在循环内重新绘制几何体



我有一个循环,提示用户输入,然后根据该输入向linestring添加一个新段。

while (data) {
point = processData(data) // returns an array [x,y]
linestringFeature.getGeometry().appendCoordinate(point)
data = prompt('Enter data')
}

然而,linestring在用户退出循环之前不会被绘制。我需要为用户提供视觉反馈,因为每个部分都添加到linestring。我使用OpenLayers 6.5。对如何做到这一点有什么建议吗?

这不是一个正确的答案,但是对于评论来说有点长了。

这只是一个想法,但请尝试添加超时:

while (data) {
point = processData(data) // returns an array [x,y]
linestringFeature.getGeometry().appendCoordinate(point)
window.setTimeout(() => {
data = prompt('Enter data')
}, 100)
}

100可以是任何数字,真的。

如果这有效,则表明浏览器没有在while循环/阻塞提示序列中重新绘制页面。

如果它不工作,让我知道!

最新更新