ArcGIS Viewer for Flex中的Widget
从概念上讲,一个部件是一个代码块,在ArcGIS的Flex应用程序浏览器提供的功能。 Viewer应用程序有一个可扩展的构件编程模型,并支持模块化功能。例如,一个窗口可以查看器应用程序最终用户之间切换地图显示的底图;不同的widget提供的功能,以找到一个在地图上的位置,而另一个部件提供了一个概述地图查看器。Widgets可以添加和/或从浏览器应用程序中删除自定义其外观(即,用户界面 - 用户界面)和功能。

在浏览器应用程序的所有功能部件,这是基于ArcGIS中的Flex API的基础上。 Widgets可以被看作是“积木”,使用户能够快速,轻松地创建自定义地理信息系统启用Web制图应用程序使用核心浏览器作为一个起点。
创建定制的GIS Web制图应用程序与Flex的ArcGIS的浏览器建议设计策略是选择一个特定组的部件,支持一个特定的业务流程。我们的目标是建立有针对性的Web地图应用程序,而不是一个通用的GIS应用。
Widget 基础:
Flex的ArcGIS的浏览器有以下目录结构:

注意:上图中没有显示的flexviewer文件夹中的所有内容。
config.xml是浏览器应用程序的默认主配置文件。这个文件控制,在浏览器的外观,功能和数据内容。 (见主配置文件的帮助主题)。Viewer应用程序中使用的部件必须在这个文件中显式引用。部件被引用在以下两种方法之一:
- 作为一个独立的部件 - 独立<widget>标签。
- 一个widget容器内 - 子标签到<widgetcontainer>标签的
如何在config.xml文件中引用的一个小部件会影响其在浏览器用户界面的行为。通常是一个独立部件构成的浏览器用户界面的一部分,而在一个widget容器中的一个部件将出现在widget托盘(见下文)。一个widget容器收集部件,确保他们有一个类似的外观和感觉在浏览器应用程序的目的。
在ArcGIS的Flex的安装目录浏览器,查看器应用程序的所有部件的部件文件夹中包含的支持文件。每个部件将有其自己的子文件夹内的部件文件夹,每个部件的子文件夹包含了所有的工作的各个部件所需的相关文件。每一个部件都有最低的2个文件:一个小部件配置文件(XML文件)。控制部件的属性,和一个编译的Flash文件(SWF文件。)。在下面的图形,文件夹的部件有3个部件:Bookmark, Coordinate,DataExtract的。

当一个新的widget添加到Viewer应用程序,它需要最少2文件(XML配置文件和编译Flash文件),它在自己的widget文件夹的子文件夹中。
Widgets 的用户界面:
如前所述,如何以及在何处部件都位于内的“浏览器的用户界面的背景下,确定由小部件是如何在浏览器应用程序的配置文件(config.xml)中引用。
当在浏览器作为一个独立的部件配置文件中引用的一个部件,它成为的浏览器用户界面的一部分。在config.xml文件中下面的代码示例:Navigation, Overview Map, and Map Switcher部件被定义为独特的浏览器的UI组件。
<!-- UI elements -->
<widget left="10" top="50" config="widgets/Navigation/NavigationWidget.xml" url="widgets/Navigation/NavigationWidget.swf"/>
<widget right="-2" bottom="-2" config="widgets/OverviewMap/OverviewMapWidget.xml" url="widgets/OverviewMap/OverviewMapWidget.swf"/>
<widget right="20" top="55" config="widgets/MapSwitcher/MapSwitcherWidget.xml" url="widgets/MapSwitcher/MapSwitcherWidget.swf"/
3部件的默认浏览器用户界面的组成部分:
当一个widget容器内的浏览器配置文件中引用的一个部件,它会出现在浏览器应用部件托盘。在config.xml文件中下面的代码示例,书签和查找地址部件存储在一个widget容器:
<widgetcontainer layout="float">
<widget label="Bookmarks" x="400" y="90" icon="assets/images/i_bookmark.png" config="widgets/Bookmark/BookmarkWidget.xml" url="widgets/Bookmark/BookmarkWidget.swf"/>
<widget label="Find an address" x="100" y="90" preload="open" icon="assets/images/i_target.png" config="widgets/Locate/LocateWidget_US.xml" url="widgets/Locate/LocateWidget.swf"/>
...
</widgetcontainer>
从概念上讲,部件托盘就像是一个工具栏 - 包含图标激活浏览器中的部件。 widget的托盘位于浏览器的用户界面(默认配置)的顶部。在widget托盘部件通常默认情况下关闭(即无效)。
在widget托盘的部件之一,点击图标,将其状态更改为打开并显示其对话窗口。开放的部件,将其图标下方有一条线出现。部件的对话,也可以减至最低。
在widget托盘部件也可以进行分组,它可能是有益的组部件执行类似的功能,为组织的目的,在Viewer。 Widgets可以在widget托盘使用<widgetgroup>标签分组。在XML配置文件下面的代码示例,查找美洲和欧洲的部件都集中在一个widget容器内,定位器部件组:
<widgetcontainer layout="float">
<widgetgroup label="Locators">
<widget label="Find U.S. address"
icon="assets/images/i_target.png"
config="widgets/Locate/LocateWidget_US.xml"
url="widgets/Locate/LocateWidget.swf"/>
<widget label="Find European addresses"
icon="assets/images/i_pin2.png"
config="widgets/Locate/LocateWidget_EU.xml"
url="widgets/Locate/LocateWidget.swf"/>
...
</widgetgroup>
</widgetcontainer>
组代表同一个文件夹图标,并单击该文件夹下面的箭头,将显示在这个特殊群体参与的部件。光标悬停在文件夹图标,将显示该组的名称。下面的图形显示,例如定位器部件组包含几个定位部件。
如果打开了多个部件从部件托盘,浏览器应用程序的显示可能会变得混乱。切换和滚动键控制(当的<widgetcontainer>的布局属性设置水平或垂直),以帮助管理widget的对话窗口。从显示屏和滚动键部件对话窗口切换隐藏,使最终用户能够通过各种部件对话框中滚动。切换和滚动键控制是只包含一个widget容器内的部件。
部件都放置在浏览器应用程序的UI部件的目的,取决于它如何支持业务工作流程。经常使用的部件更容易被定义为浏览器的UI的一部分,而支持特定的业务任务的部件将属于一个widget容器是由部件托盘引用。






浙公网安备 33010602011771号