我有一个在 SharePoint 页面上构建的 OpenLayers 地图。一切正常,但地图需要一段时间才能加载,因此会冻结页面的其余部分,直到完成。此地图适用于我们的主页,在我解决此问题之前无法添加。
我已经尝试使用 JQuery .load 和 .ajax 来加载包含所有标记的 html 文件,但是在尝试加载 OpenLayers.js 时,这两者都会引发“访问被拒绝”错误。解决此问题的方法是首先在进行 .load 或 .ajax 调用的 SharePoint 页面中包含所有 .js 文件。使用 .done() 方法,我会将检索到的源代码添加到页面上的占位符 DIV 中。一旦 .done() 方法运行,页面加载将冻结,直到它完成。
我确实明白,一旦 ajax 调用返回响应,它仍然必须将对象添加到占位符 DIV 并将标记和图层构建到 OpenLayers 地图上,从而导致冻结。
我尝试使用 OpenLayers 地图加载 Iframe,但它也会冻结页面,直到它完全加载。
有没有办法在加载到页面之前完全加载 openlayers 地图及其所有组件?可能在另一个窗口?使用网络服务?
任何帮助将不胜感激。