开发Widget开发工具:Flex Builder3
开发语言:ActionScript & mxml
1)开发环境配置:
a)
首先确保Flex Builder3(Flex SDK 3.1)安装成功,并下载Flex viewer(libs目录中包含ArcGIS API for Flex v1.0)。
b)
解压下载下来的Flex viewer压缩包。
c)
打开Flex Builder3,将刚解压出来的源代码导入到flex workspace中。在导入向导中选择源代码的目录,点击finish。
d)
编译Flex Viewer。选中当前工程,在Project 菜单下选择Build Project。
2)自定义widget开发
a)
新建一个mxml组件(右键单击flex
Viewer ,选择New->MXML Component)。选择组件目录,输入组件名称,并确保该组件继承BasWidget类。
b)
将创建好的widget添加Flex Builder Project Module list。
右键单击Flex Viewer 工程,选择属性(properties),打开属性配置框,然后在左边列表择Flex Modules。单击Add按钮,选择MyFirstWidget.mxml。这一步的目的是确保MyFirstWidget能够被编译成单独的swf文件。
c)
编译widget。
重新编译整个Flex Viewer 工程即可。编译完成之后在bin-debug目录下就会有MyFirstWidget.swf。
3)使用WidgetTemplate
打开MyFirstWidget.mxml文件,内置的WidgetTemplate提供了丰富的界面元素。下面介绍如何部署Widget。
a)
把Widget加入到config.xml文件中。
打开config.xml文件并在<widgets>标签中添加代码:
b)
保存config.xml文件并重新编译Flex Viewer。
c)
运行Flex Viewer。
d)
从Tool菜单中选择My First Widget。
至此,通过代码就完成了个基本的Widget UI 设计,已经有了最大化,最小化,关闭等功能。下一步,就是实现业务逻辑。
4) 访问地图 (Accessing a Map)
Flex Viewer是一个以地图为中心的应用程序,所有的操作都是围绕地图来进行。Flex Viewer初始化之后,Widget就可以访问地图了(来自ArcGIS Server 的地图服务)。
map是BaseWidget类中定义的一个public 属性,只要是继承BaseWidget的类都可以访问改属性,该属性是com.esri.ags.Map(ArcGIS API for Flex)类型,因此可以使用map对象访问任何在ArcGIS API for Flex中的对象。当widget 被加载之后,widget manager会动态的把当前活动的地图对象关联到widget。
5) 在地图上显示业务数据
a)
添加Graphics Layer
建议为每个Widget都创建一个Graphics Layer。
b)
Widget打开/最小化的时候打开/关闭Graphics Layer
WidgetTemplate提供了2个窗口状态的事件:widgetOpened 和 widgetClosed,可以使用这两个事件来同步WidgetTemplate窗口状态的变化和Graphics Layer显示。当widget打开的时候显示Graphics Layer,当widget关闭的时候隐藏Graphics Layer。例子如下:
首先侦听widgetOpened 和 widgetClosed事件。
在widgetOpened 和 widgetClosed事件的响应函数中控制Graphics Layer的显示。
6)Widget中使用绘制功能
在 Flex Viewer 中通过调用setMapAction方法,可以方便的进行地图上的绘制。setMapAction是在BaseWidget类中定义的public方法,因此只要继承于BaseWidget类的Widget都可以使用该方法。
setMapAction方法的定义如下:
参数:
action: String 类型,定义为当前绘制操作的要素类型。对应ArcGIS Flex API 中绘制工具的绘制要素类型。对应列表如表3-2:
表 3-2:flexViewrer与ArcGIS API for Flex绘制消息对应表
Flex Viewer
|
ArcGIS API for Flex
|
extent
|
Draw.EXTENT
|
point
|
Draw.MAPPOINT
|
line
|
Draw.LINE
|
polyline
|
Draw.POLYLINE
|
polygon
|
Draw.POLYGON
|
multipoint
|
Draw.MULTIPOINT
|
freehandpolyline
|
Draw.FREEHAND_POLYLINE
|
freehandpolygon
|
Draw.FREEHAND_POLYGON
|
status: String 类型,在控制栏上显示的状态文本。
callback: Function类型,绘制结束后调用的回调函数。回调函数的定义可以参考下面代码:
未完待续...
分享到:
相关推荐
2. **Flex Viewer概述**:Flex Viewer是Esri公司为地理信息系统(GIS)开发的一款组件化框架,它基于Flex技术,专门用于构建地图应用。Flex Viewer提供了大量的预置组件,如地图、图层控制、查询工具等,开发者可以...
2. **Widget 开发**:Widgets 是Flex Viewer的核心组成部分,它们封装了特定的功能或业务逻辑。每个Widget是一个独立的SWF文件,可以在多个Flex Viewer应用中复用。开发Widget时,需要遵循特定的编程模型,例如实现...
2. **Flex Viewer**:作为容器,它负责加载XML配置文件、皮肤文件以及地图服务。 3. **Laptop / Mobile**:适应不同设备的界面布局,支持桌面和移动设备。 4. **ArcGIS Online / ArcGIS Server**:提供地图服务和...
Flex Viewer是ESRI公司推出的一款基于Adobe Flex技术的GIS(地理信息系统)应用程序框架,它专为Web上的地理信息展示和交互设计。Flex是ActionScript 3.0编程语言的一个开发平台,用于创建富互联网应用程序(RIA)。...
2. **丰富的用户界面**:利用Flex的图形渲染能力,Flex Viewer 3.0能够创建吸引人的、响应式的用户界面,提供流畅的地图导航和多层地图管理。 3. **地图服务集成**:Flex Viewer 3.0支持多种地图服务,如ArcGIS ...
4. **地理处理服务**:了解如何将GIS分析模型封装为可重复使用的Web服务,以及如何通过Flex Viewer调用这些服务。 5. **Flex编程**:熟悉ActionScript 3语法,学习使用Flex SDK进行开发,掌握MXML和AS3的结合使用,...
在本教程中,你将逐步学习到如何从零开始构建和扩展Flex Viewer,从而利用其强大的功能来创建定制化的GIS应用。通过实践这些步骤,你将能够熟练地运用Flex Viewer的灵活性和易用性,为各种项目提供直观且功能丰富的...
2. **Flex Viewer框架结构**:Flex Viewer的架构由多个组件构成,包括Menu Control(菜单控件)、Flex Viewer主程序、不同设备的适配(如Laptop Mobile和Hand Mobile),以及ArcGIS Online和ArcGIS Server等地图服务...
这个压缩包文件“arcgis_api_for_flex_3_5.zip”包含了ArcGIS Viewer for Flex 3.5的源码,是学习和开发基于Flex的GIS应用的重要资源。 ArcGIS Viewer for Flex 是一个强大的地图浏览和分析工具,它预设了多种地图...
Flex Viewer 是一个基于 Adobe Flex 技术的轻量级GIS(地理信息系统)应用框架,它允许开发者快速构建具有地图浏览、图层管理、查询等功能的Web GIS应用。本篇文章主要探讨Flex Viewer的结构,特别是其核心组件和...
只需要在Flex Viewer应用程序的配置文件中增加配置项,就可以将功能以widget的形式快速部署到已有的Flex Viewer应用中。 容器由一系列高粘性、低耦合组件组成。容器会把关注的任务交给相应的组件去完成。这种设计...
《ArcGIS Flex Viewer Flash版本的GIS应用详解》 ArcGIS Flex Viewer是一款由Esri公司开发的,基于Adobe Flex技术的Web GIS应用程序框架。它为开发者提供了一种灵活且功能强大的方式来构建交互式的地理信息系统...
ArcGIS Viewer for Flex是一款由Esri提供的基于Adobe Flex的应用程序框架,旨在帮助开发者轻松构建地理信息系统(GIS)应用。该框架采用模块化设计,拥有良好的灵活性与扩展性,允许用户根据实际需求定制功能和外观...
Flex_Viewer是一个由ESRI提供的开源GIS(地理信息系统)框架,旨在帮助开发者构建基于Adobe Flex技术的地图应用程序。它提供了一种简单的方法来集成地图服务,并允许创建复杂的GIS应用程序。本文档将深入探讨Flex_...
ArcGIS Viewer For Flex v3.7是一款基于Adobe Flex技术构建的强大的地理信息系统(GIS)应用,它为用户提供了一个直观且可定制的界面,用于浏览、分析和共享地理信息。此版本采用agslib-3.7-2014-11-06.swc库,增强...