ArcGIS Viewer for Flex(部件在Flex的ArcGIS的浏览器) .(转帖)

原文转自:http://blog.csdn.net/yu624774720hua/article/details/6572925

 

 

部件在Flex的ArcGIS的浏览器

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

浏览器中的所有应用程序的功能是基于构件,这些都对Flex的ArcGIS的API的。 Widgets可以被看作是“积木”,使用户能够快速,轻松地创建自定义的Web GIS制图应用程序使用为出发点的核心浏览器。

用于创建与Flex的ArcGIS的浏览器定制的GIS Web制图应用程序建议的设计策略是选择一组特定的小部件,支持一个特定的业务流程。我们的目标是建立一个集中的Web地图应用,而不是一个通用的GIS应用。

工具基础:

对于Flex的ArcGIS的浏览器有以下目录结构:

注:上图中没有显示所有的flexviewer文件夹的内容。

 


Config.xml的是浏览器应用程序的默认主配置文件。这个文件控制的外观,功能,在浏览器和数据内容。 (参见主配置文件的帮助主题)。由该查看器应用程序使用的部件,必须明确地引用这个文件。 Widget是引用的两种方法之一:

  1. 作为一个独立的部件 - 独立标记 <widget> 
  2. 在一个小部件容器 - 作为一个子标签标记<widgetcontainer>

如何引用一个小部件是在config.xml文件将影响其在浏览器的UI行为。一个独立的部件,通常形式的用户界面的浏览器的一部分,而在一个widget容器中存储的部件将在widget托盘中(见下文)。一个widget容器收集部件一起确保他们有一个类似的外观和感觉,在查看器应用程序的目的。

 

在Flex的安装目录ArcGIS的浏览器,文件夹中包含的部件查看器应用程序的所有部件的支持文件。每个部件的部件将在自己的文件夹的子文件夹,子文件夹包含每个部件的所有个别部件工作所需的相关文件。每一个部件都有一个最低的2个文件:一个小部件配置文件(xml文件),控制部件的属性,编译Flash文件(SWF文件)。在下面的图形,文件夹的部件有3个部件:Bookmark, Coordinate, and DataExtract.

当一个新的小部件被添加到浏览器的应用,它需要2个最低文件(XML配置文件和编译Flash文件),在其自己的子文件夹的部件中。


在浏览器的用户界面小部件

如前所述,小部件是如何以及在何处内的浏览器的用户界面中位于小部件是如何在浏览器应用程序的配置文件(通常config.xml)中引用的决定。

当一个部件是作为一个独立的部件查看器配置文件中引用,它成为了浏览器的用户界面的一部分。在config.xml文件中的代码示例如下:导航,概述地图和地图切换部件的定义是独特的浏览器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部件的默认浏览器的用户界面的一部分:

当一个部件是在浏览器内构件容器的配置文件中引用的,它会出现在查看器应用程序部件托盘。在config.xml文件中的代码示例所示,书签和查找地址部件都存储在一个小部件容器:

<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托盘,它可能有利于组部件执行在浏览器的目的类似的功能组织在一起。部件可分为小部件使用托盘标记。在XML配置文件的代码示例所示,美国的地址查找和查找部件都集中在欧洲的地址定位器部件组内构件容器:

<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>

群体都有代表参加的一个文件夹图标,并点击下方的文件夹中的箭头将显示在该部件的特殊群体参与。悬停在文件夹图标,光标会显示该组的名称。下图显示了例子定位器定位器部件组包含几个部件。

如果从部件托盘多个部件都打开,查看器应用程序的显示可能会变得混乱。一键切换和滚动控制可用(当的布局属性设置为横向或纵向),以帮助管理部件对话窗口。切换隐藏的显示和滚动键部件对话框窗口使最终用户能够通过各种部件滚动对话框。切换和滚动按键控制,只是一个小部件容器内包含小部件可用。

 

凡部件在查看器应用程序的UI放在取决于部件的目的,以及它如何支持业务流程。经常使用的部件更容易被看作是浏览器的用户界面的一部分定义的,而小工具,支持特定的业务任务将属于一个小部件的容器是由部件托盘引用。



 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
简介..... ................................................................................................................................... 4 1.1 准备知识.......................................................................................................................... 4 1.1.1 技能与软件需求......................................................................................................... 4 1.1.2 获取源代码与所需库.................................................................................................. 4 1.2 文件组织…..................................................................................................................... 5 2 Sample Flex Viewe架构 ....................................................................................................... 5 2.1 架构介绍 .......................................................................................................................5 2.2 Sample Flex Viewer实例的生命周期............................................................................ 6 2.3 Sample Flex Viewer容器............................................................................................... 7 2.4 理解Widget编程模型..................................................................................................... 8 2.5 Widget命名习惯............................................................................................................. 9 3 为Widget开发建一个Flex Builder项目................................................................................ 9 3.1 用Sample Flex Viewer FlexBuilder项目开发一个微件.................................................. 10 3.2 在Sample Flex Viewer的FB项目之外开发一个widget.................................................. 12 3.3 为Flex Builder设置测试服务器...................................................................................... 14 4 开发一个widget ..................................................................................................................... 15 4.1 使用WidgetTemplate模板 ............................................................................................. 16 4.2 获取地图信息............................................................................................................... 17 4.3 在地图上显示widget数据 ............................................................................................. 19 4.4 从地图接收数据(通过单击,画线等操作实现)............................................................. 20 4.5 在widget中控制导航.................................................................................................... 21 4.6 不使用WidgetTemplate模板开发Widget ..................................................................... 22 4.7 开发一个自己的Widget模板 ........................................................................................ 23 4.8 修改或是创建一个主题 ................................................................................................ 24 4.9 Widget的配置............................................................................................................... 25 5 了解Sample Flex Viewer核心代码...................................................................................... 26 5.1 事件总线容器 .............................................................................................................. 26 5.2 依赖注入(DI,也叫控制反转)...................................................................................... 29 5.3 国际化 ......................................................................................................................... 30 第 3 页 5.3.1 使用Flex的国际化特性 .................................................................................................30 5.3.2 本地化设置 ................................................................................................................ 32 5.4 日志和错误处理 .......................................................................................................... 33 6 Sample Flex Viewer框架和Widget部署.............................................................................. 35 6.1 部署一个Sample Flex Viewer应用程序....................................................................... 35 6.2 部署一个widget到Sample Flex Viewer ........................................................................ 35 6.3 安全性考虑 ................................................................................................................. 36 6.3.1 crossdomain.xml ..................................................................................................... 36 6.3.2 网络资源代理........................................................................................................... 37 7 附录A: Configuration XML..................................................................................................37
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值