ArcGIS RIA开发实践【背景篇】【Flex篇】

上传人:飞*** 文档编号:47970170 上传时间:2018-07-07 格式:PPTX 页数:121 大小:13.53MB
返回 下载 相关 举报
ArcGIS RIA开发实践【背景篇】【Flex篇】_第1页
第1页 / 共121页
ArcGIS RIA开发实践【背景篇】【Flex篇】_第2页
第2页 / 共121页
ArcGIS RIA开发实践【背景篇】【Flex篇】_第3页
第3页 / 共121页
ArcGIS RIA开发实践【背景篇】【Flex篇】_第4页
第4页 / 共121页
ArcGIS RIA开发实践【背景篇】【Flex篇】_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《ArcGIS RIA开发实践【背景篇】【Flex篇】》由会员分享,可在线阅读,更多相关《ArcGIS RIA开发实践【背景篇】【Flex篇】(121页珍藏版)》请在金锄头文库上搜索。

1、ArcGIS RIA开发实践ESRI中国(北京)有限公司【背景篇】RIA介绍 RIA相比传统Web的优势 RIA的局限性 目前主流RIA技术及特点RIA相比传统Web的优势 表现力丰富 网络效率高 交互能力强 面向操作系统和浏览器透明 沙箱提供更可靠的安全性 易于与现有系统集成RIA的局限性 客户端引擎的下载和安装 目前难于做SEO目前主流RIA技术及特点 Adobe Flex/Flash Microsoft Silverlight Sun JavaFX CurlArcGIS Server的REST接口 REST的概念 通过REST的接口使用ArcGIS功能REST的概念 资源通过URI来指定

2、和操作 对资源的操作包括获取、创建、修改和删除资源,这些操 作正好对应HTTP协议提供的GET、POST、PUT和 DELETE方法 连接是无状态性的 能够利用Cache机制来提高性能通过REST的接口使用ArcGIS功能 REST服务目录 Java:http:/:8399/argis/rest .Net: http:/arcgis/rest 清空REST的缓存 REST管理界面 http:/:8399/arcgis/rest/admin 某个地图服务REST URL: http:/localhost:8399/arcgis/rest/services /AgsSample/World/Map

3、Server 点击“Export Map”链接 跳转URL: http:/localhost:8399/arcgis/rest/services /AgsSample/World/MapServer/export?bbo x=-198.000000454545,- 99.0000004545455,198.000009545455,99.0 000095454545 总结: ArcGIS Server REST接口中,请求服务的URL一般 应该是这样的:http:/:/arcgis/rest/servic es/?【Flex篇】【ArcGIS Flex API 基础】Flex的历史和现状 Fl

4、ash Flex Adobe与MacromediaArcGIS Flex API概述 ArcGIS在RIA领域的第一个产品 开发运行于浏览器中的Web应用或者运行于桌面的AIR 应用 非常便捷地使用地图功能和REST接口提供的GIS查询及 分析功能 专注于GIS功能的实现而不重复地创造组件一些基本概念 MapServiceLayer GraphicLayer与Graphic Geometry SymbolMapServiceLayer 对应ArcGIS 发布的地图服务 不同种类的地图服务将会对应不同的 MapServiceLayerArcGISDynamicMapServiceLayerArc

5、GIS Server发布的动态地图服务ArcGISTiledMapServiceLayerArcGIS Server发布的切片地图服务ArcGISImageServiceLayerArcGIS Image Server发布的影像服 务ArcIMSMapServiceLayerArcIMS发布的地图服务GraphicLayer与Graphic 客户端的图层 根据各种情况动态地在客户端显示一些符号化的几何对象 Graphic Graphic是一个可视化的、可响应鼠标事件的客户端要 素 Graphic3个很重要的属性:geometry、symbol和 attributesGeometryMapPoi

6、nt点Multipoint多点Polyline多段线Polygon多边形Extent边界范围Symbol 定义了Geometry使用什么符号表现出来 一般MarkerSymbol、LineSymbol、FillSymbol 还有TextSymbol、InfoSymbol等其它符号帮助进行 其它信息的辅助表达SimpleMarkerSymbol简单点符号 SimpleLineSymbol简单线 符号 SimpleFillSymbol简单填充符号 CartographicLineSymbol制图线符号,可定义端点、折点样式 PictureMarkerSymbol图片点符号 PictureFillS

7、ymbol图片填充符号 TextSymbol文字符号 InfoSymbol信息提示符号 CompositeSymbol复合符号地图功能组件 Map组件 Navigation工具 Draw工具 InfoWindow窗口Map组件 ArcGIS Flex API中唯一的可视化组件 ArcGIS Flex API中所有的操作和功能都会在Map中 进行 Map中包含各种Layer Map中的Layer有两种,一种是对应某个地图服务的 MapServiceLayer、一种是用以绘制自定义要素的 GraphicLayer 添加Map和Layer的代码: 控制地图缩放的zoomSlider、地图比例尺sca

8、leBar以 及ESRI的logo 可以隐藏 zoomSlider和scaleBar除了可以被隐藏掉,还可以通 过定制样式来改变外观 以下的CSS代码将Map的zoomSlider移到了右边:.mapStyle navigation-style-name: navigationStyle; .navigationStyle top: 6;right: 6; 地图四周的导航按钮 地图中心的十字符号 拉框缩放的方框样式 Map有很灵活的可配置性 各种元素的外观也很容易定制 如果有特殊的需要,Map也可以通过隐藏所有元素,你 则可以在此基础上加上自己的内容Navigation工具 提供了对Map进行

9、导航的诸多功能 它可以实现漫游、拉框放大、拉框缩小等类似ADF中 Tool的功能和前一视图、后一视图、全图等类似ADF中 Command的功能 它并不是一个工具条,而是提供了一些功能,你可以把 Flex组件绑定到Navigation的功能上 Navigation中漫游、拉框放大、拉框缩小等功能和工具 条按钮的绑定 借助Flex中的ToggleButtonBar作为这些功能的宿主漫游拉框放大拉框缩小 Navigation中前一视图、后一视图、全图等功能和工具 条按钮的绑定 前一视图、后一视图的按钮并不是一直可用Draw工具 Draw工具提供了在客户端绘制各种几何对象的功能 用一个ToggleBu

10、ttonBar去绑定Draw工具的功能private function itemClickHandler(event:ItemClickEvent):voidswitch (event.index)case 0:draw.activate(Draw.MAPPOINT);break;case 1:draw.activate(Draw.MULTIPOINT);break;case 2:draw.activate(Draw.LINE);break;case 3:draw.activate(Draw.POLYLINE);break;case 4:draw.activate(Draw.FREEHAND_

11、POLYLINE);break;case 5:draw.activate(Draw.POLYGON);break;case 6:draw.activate(Draw.FREEHAND_POLYGON);break;case 7:draw.activate(Draw.EXTENT);break;InfoWindow窗口 InfoWindow窗口主要提供在Map上弹出信息提示的功 能 定义一个Map的时候,Map会生成一个自带的 InfoWindow并放置在自己的infoWindow属性中 下面我们在地图上弹出一个InfoWindow,并在其中放 上一个图片:var image:Image = n

12、ew Image(); image.source = “http:/www.esrichina- = image; map.infoWindow.show(new MapPoint(116, 40); InfoWindow使用的重点在于其content属性,它是 InfoWindow窗口中的信息内容,它对应一个 DisplayObject的对象,言下之意任何Flex中的可视组 件都可以放置于其中。 从上面的内容,我们知道了如何使用一个Map来获得和 显示ArcGIS Server发布的服务,然后使用 Navigation工具来进行导航,用Draw工具在客户端绘 制几何对象,用InfoWindo

13、w来显示提示信息。对于地 图操作的浏览、交互我们都已经涉及到了。下面,我们将 会在地图的基础上使用更多的ArcGIS Server的GIS功 能。常用功能 QueryTask FindTask IdentifyTask GeometryService Geoprocessor LocatorQueryTask QueryTask是一个进行空间和属性查询的功能类 可以在某个地图服务的某个子图层内进行查询 QueryTask进行查询的地图服务并不必须加载到Map 中进行显示 QueryTask的执行需要两个先决条件:一个是需要查询 的图层URL、一个是进行查询的过滤条件 QueryTask有个ur

14、l属性指向需要查询的子图层的 REST URL(索引从顶部图层为0开始) 当需要进行查询的时候我们需要调用QueryTask的 execute方法 execute方法的第一个参数就是对查询进行设置的 Query对象,在这个Query对象的属性中我们可以设置 过滤条件和返回内容。 在Query对象的属性中,geometry和 spatialRelationship属性用于定义空间查询的条件、 where属性用于定义属性查询的条件 从onResult方法的QueryEvent参数中我们可以获得 查询返回的所有结果集featureSet,featureSet的 features属性中存放了所有查询结

15、果的Graphic对象private function onResult(event:QueryEvent):voidvar featureSet:FeatureSet = event.featureSet;resultLayer.clear();for each (var g:Graphic in featureSet.features)resultLayer.add(g);FindTask 在某个地图服务中进行属性查询的功能类 需要一个FindParameters对象作为参数 url属性需要指向所查询的地图服务的REST URLprivate function doFind():void var params:FindParameters = new FindParameters(); params.contains = true; params.layerIds = 0,1,2; params.returnGeometry = true; params.searchFields = “Name“, “Address“; params.searchText = keyword.text;findTask.execute(params); priv

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号