【 WebGis 开发框架FlexViewer 解读 】

本文介绍FlexViewer开发框架的结构及工作原理,涵盖事件列表、事件分发器等核心概念,并详细解析从应用容器到各管理层的功能与交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

FlexViewer开发框架个人理解

 

 

 

 一、整个应用程序公共事件列表----AppEvent

 

       01appError

       02configLoaded

       03mapLoaded

       04layerLoaded

       05basemapMenuClicked

       06widgetMenuClicked

       07setMapNavigation

       08setStatus

       09widgetShowInfo

       10setMapAction

       11dataAdded

       12dataUpdated

       13dataFetch

 

 二、整个应用程序事件分发器----EventBus

 

       01、仅且只能有一个:使用静态成员变量保证只有一个该对象

       02、提供的方法:向整个应用程序分发一个事件

 

 三、整个应用程序所使用的数据数据结构

      

       01、将该应用程序所使用的一切数据已对象形式封装成为一个

           对象(程序需要改进的地方)

 

       02、对数据内部按各自职能的不同分为6种不同的类别

      

 四、层层揭开

 

  ()、最底层:整个应用程序最大的容器----Application

 

       01、功能:侦听应用程序主绘图区域键盘事件,添加事件处理

                 程序

       02、实现:

stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);

       03、实现自身容器的功能

 

  ()、第二层:整个应用程序最为重要容器----SiteContainer

 

       01、功能:* 事件:监听并处理整个应用程序所发生的错误

                                 分发容器加载完成事件

                              * 会话:为其他层高级对象提供事件处理工具,分

                             发,注册(监听),移除

                    * 唯一:保障容器唯一性

                    * 状态:设置程序当前操作状态

 

  ()、第三层:各个并列层共同组成

 

     01、配置管理器----ConfigManager

      

           (01)、初始化:完成ConfigData对象的实例化

           (02)、会话:监听底层容器初始化完成

                               分发数据加载完成事件并携带数据

           (03)

 

     02、界面样式管理器----UIManager

      

           (01)、完成样式表的加载,交由样式管理器统一管理

 

     03、控制面板----Controller

 

           (01)、初始化:* 注册配置文件加载事件----配置数据,

                                  导航条,操作菜单

 

                                          * 注册地图加载事件----配置地图

 

                                          * 注册程序状态事件----配置当前操作状    

                              

           (02)、菜单:会话与各个子组件

           (03)、控制内容:地图,地图操作状态,程序菜单

           (04)

 

     04、数据管理----实现整个应用程序数据缓存与缓存访问

        

           工具性:

           (01)、缓存: * 一级缓存----数组对象缓存

                                        * 二级缓存----哈希映射表

                                        * 三级缓存----逻辑地址缓存

           (02)、会话: * 数据发送

                                        * 数据增加

                                        * 数据的更新

 

     05、部件管理器----WidgetManagerDocked

      

           (01)、初始化

           (02)、会话:数据,地图,图层加载,部件加载

 

     06、地图管理器----MapManager

      

       (01)、初始化:

       SiteContainer.addEventListener(AppEvent.CONFIG_LOADED, config);

       (02)、地图操作会话:

SiteContainer.addEventListener(AppEvent.SET_MAP_NAVIGATION, changeNavigationbyMenu)

 

SiteContainer.addEventListener(AppEvent.BASEMAP_MENU_CLICKED, basemapMenuClicked)

                                  

//SiteContainer.addEventListener(AppEvent.SET_MAP_NAVIGATION, changeNavigationbyWidget)

 

SiteContainer.addEventListener(AppEvent.SET_MAP_ACTION, enableMapAction)

 

(03)、地图弹出式窗口回话:

SiteContainer.addEventListener(AppEvent.SHOW_INFOWINDOW, widgetShowInfo);

 

 

应用程序结构图

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值