【Flex Viewer】 开发教程(1)Flex Viewer配置文件
Flex Viewer的设计原则是SIMPLICITY(简单)。因为简单原则,Flex Viewer易于部署、配置和扩展。为了达到“简单”这个目的,Flex Viewer在设计和实现上未引入第三方框架。但是从其框架结构上,我们能捕捉到一些Flex框架中最佳实践的影子,比如事件机制就与PureMVC中的Notification机制类似。
其实,Flex Viewer本身就可以被认为是一个框架。在这个框架基础上,可以通过扩展快速实现业务系统原型。本文档将详细介绍如何在“简单”原则下实现自定义Widget,以及Widget如何与其它模块交互。
说明
本文档使用的代码位于widgets.FlexViewerInAction目录下。
Flex Viewer通过配置文件配置系统数据和功能,配置文件内容如下:
<?xml version="1.0" ?>
<configuration>
<title>ArcGIS Viewer for Flex</title>①
<subtitle>a configurable web mapping application</subtitle>②
<logo>assets/images/logo.png</logo>③
<style>④
</style>
</map>
<widgetcontainer layout="horizontal">⑩
</widgetcontainer>
</configuration>
①
title:Flex Viewer自带Banner实现的标题;
②
subtitle:Flex Viewer自带Banner实现的副标题;
③
logo:Flex Viewer自带Banner实现的Logo图标;
④
style:用来设置全局的组件样式,具体详见UIManager代码;
⑤⑥⑦⑧ UI Elements:指Control Widget,比如HeaderControllerWidget、NavigationWidget等这些提供系统级别功能的Widget;
⑨ map:Flex Viewer用来设置地图属性,包括底图、业务图层;
⑩ widgetcontainer:Business Widget的容器,用来管理Business Widget。Business Widget指提供业务功能的Widget。
上述配置文件并未使用到所有可用的属性,比如在style中设置font属性,map中设置fullextent等,此处不一一列举,详见ConfigManager代码。
需要说明的是,基于Flex Viewer开发业务系统,一般通过实现自定义的Business Widget来实现具体的业务功能,通过修改或者自定义Control Widget实现符合需求的系统级别功能组件。所以,配置文件中的前三项并不是必须的,通常我们的业务系统需要更具特色的Banner实现。Flex Viewer各部分与配置文件的对应关系见下图: