我正在构建一个Web界面,允许用户从GeoServer上传图层并对数据执行空间操作。因此,地图由预加载的底图和用户加载的数据组成。
我希望用户能够"保存"他的会议,以便他可以稍后回来并恢复它。我打算在用户进入界面时添加登录菜单。
我的界面完全由ExtJS 6和OpenLayers3构建。
任何人都已经做过类似的事情,可以给我一些关于如何保存会话并在以后恢复的线索吗?
谢谢!
答案 0 :(得分:1)
我做过与ExtJS6和OL2类似的事情。
我定义了一个包含OpenLayers Map(MapPanel)的Ext.panel.Panel。 MapPanel具有状态:true,具有stateId并具有一些自定义stateEvents(中心,缩放和图层可见性)。
然后只需覆盖MapPanel的getState和setState函数即可保存和恢复地图状态。
您可以使用extjs CookieProvider来存储状态,或者您可以创建一个将其保存到数据库或其他任何内容的提供程序。
在OL尺寸上,注册以映射事件(添加图层,移动地图,缩放更改)并将这些更改反映到MapPanel。
请参阅CookieProvider的extjs文档,并知道如何实现它。