在 Openlayers 3 中完全呈现 Mapview 后是否会触发事件?
Does an event get fired after the Mapview is fully rendered in openlayers 3?
我在地图视图的不同图层中渲染了大约 27000 个标记。在快速设备上一切正常。
我在旧设备上遇到问题(例如 iPad3)。当我隐藏一层并将另一层设置为 visible = true 时,更改需要几秒钟才能在 mapview 上生效。此时 mapview 被冻结,任何用户交互都会延迟,直到 mapview 完成渲染。显示加载弹出窗口并等待视图最终完成渲染对我来说会更好。
地图视图上的渲染完成后是否会触发任何事件?
我找到了另一个问题 (https://gis.stackexchange.com/questions/10671/register-event-loadend-on-layer?rq=1) 和一个答案,这使我找到了正确的事件:
vectorLayer.on('postcompose', function(event) {
if (vectorLayer.getVisible()) {
doSomething();
}
});
当相应的矢量图层在 Canvas 上完全渲染时,现在会调用方法 doSomething();
。
我在地图视图的不同图层中渲染了大约 27000 个标记。在快速设备上一切正常。
我在旧设备上遇到问题(例如 iPad3)。当我隐藏一层并将另一层设置为 visible = true 时,更改需要几秒钟才能在 mapview 上生效。此时 mapview 被冻结,任何用户交互都会延迟,直到 mapview 完成渲染。显示加载弹出窗口并等待视图最终完成渲染对我来说会更好。
地图视图上的渲染完成后是否会触发任何事件?
我找到了另一个问题 (https://gis.stackexchange.com/questions/10671/register-event-loadend-on-layer?rq=1) 和一个答案,这使我找到了正确的事件:
vectorLayer.on('postcompose', function(event) {
if (vectorLayer.getVisible()) {
doSomething();
}
});
当相应的矢量图层在 Canvas 上完全渲染时,现在会调用方法 doSomething();
。