Graphics in the ArcGIS API for Flex(ArcGIS中的图形层)
来源:互联网 发布:淘宝网踏步机 编辑:程序博客网 时间:2024/06/13 01:23
API参考:https://developers.arcgis.com/flex/guide/using-graphic.htm
查看原文:http://www.ibloger.net/article/350.html
使用图形
当Flex的ArcGIS API是第一次发布,显示信息的唯一选择客户端是通过使用一个图形层。图形层允许您在地图上动态显示图形。图形可以由用户标记或输入一个任务,或者他们可以由应用程序来响应一个任务。例如,应用程序可能会将查询的结果添加到地图图形。
一个图形由以下组成:
- Geometry(几何)— 几何确定图形的位置。它可以是点,多点,多段线,多边形或范围(extent).
- Symbol(符号)— 符号的符号决定了图形的外观。它可以是一个标志符号(和多点几何),线符号(折线),或填充符号(多边形)
- Attributes(属性)— 这些是描述图形的名称 - 值对。如果您创建的图形,你需要分配的属性。如果图形是响应创建一个图层执行的任务,图形自动包含图层的字段属性。某些任务用于限制返回到所得图形的属性。 Query.outFields是限制任务的返回的属性的属性的一个例子。
如果你编写代码,允许用户在地图上绘制图形,绘制工具可以使你的工作更容易。DrawTool是一个类,它可以帮助您获取用户在屏幕上绘制的几何。然后,您可以定义一个符号和应用于一个新的图形对象的几何形状。DrawTool示例演示了此工作流。
当你添加一个task 任务的结果,根据task的类型到地图上作为图形方式,如果你的task返回一个featrue集合,,你会得到一个数组的图形(FeatureSet.features),您可以指定graphicProvider GraphicsLayer。下面的代码展示了如何从QueryTask这样做结果。
这段代码定义了一个符号的图形层分配给所有图形添加到这一层。
private function doQuery():void{ queryTask.execute(query, new AsyncResponder(onResult, onFault)); function onResult(featureSet:FeatureSet, token:Object = null):void { myGraphicsLayer.graphicProvider = featureSet.features; } function onFault(info:Object, token:Object = null):void { Alert.show( info.toString() ); }}
<esri:SimpleMarkerSymbol id="sms" size="10" color="0xFF0000" style="circle" /><esri:GraphicsLayer id="myGraphicsLayer" symbol="{sms}"/>
其他任务没有提供Feature结果但提供几何,你可以使用它来创建一个图形。例如,查询一个位置定位,其属性是一个MapPoint几何位置。您可以使用此几何创建一个图形显示的地址位置,如下代码:
for each (var candidate:AddressCandidate in candidates){ if (candidate.score > 80) { var myGraphic:Graphic = new Graphic(); myGraphic.geometry = candidate.location; myGraphic.symbol = mySymbol; myGraphic.attributes = { address: candidate.address,score: candidate.score, locatorName: candidate.attributes.Loc_name }; myGraphicsLayer.add(myGraphic); }}
3.0及以上
从Flex ArcGIS的3.0版本的API,defaultGraphicsLayer属性被添加到映射类。这引用默认图形层,总是显示在地图中的所有其他层。这个图形层不能被删除。
扩展图形层
图形层是一个非常有用的类,它提供了大量的功能。可以添加到现有的功能提供的图形层通过扩展它来构建您自己的自定义图形层。一个例子为什么您可能想要创建一个可扩展的版本的图形层将是如果你有属性信息,应该对应于一个特定的地理位置,如人口普查数据与县多边形。可以创建一个自定义的图形层,利用ArcGIS Server服务和相应的几何属性信息可能来自另一个后端服务,结合他们在一个自定义的图形层中创建图形对象。FeatureLayer类介绍了ArcGIS 2.0版本的API Flex和扩展GraphisLayer类的是一个典型的例子。
概念与图形的概述
下面提供了高级步骤处理图形的API:
获取图形层。
创建或检索一个图形。
设置图形的几何(如果尚未设置)。
应用图形的象征。
将图片添加到图形层。
- Graphics in the ArcGIS API for Flex(ArcGIS中的图形层)
- 地图中的BI图表解决方案(ArcGIS API for Flex)
- the mobile samples for the ArcGIS API for Flex
- ArcGIS API For Flex(查询数据)
- ArcGIS API for Flex(一) 新增地图和图层
- ArcGIS API for Flex (二)新增地图和图层
- ArcGIS API for Flex Beta
- ArcGIS API for Flex 概览
- arcgis api for flex学习
- ArcGIS for Flex API官网
- ArcGIS.Server.9.3和ArcGIS API for Flex实现动态图层和瓦片图层叠加显示(二)
- ArcGIS.Server.9.3和ArcGIS API for Flex实现动态图层和瓦片图层叠加显示(二)
- ArcGIS API for Flex (使用ArcGIS API for Flex 创建一个新的地图项目)
- ArcGIS For JavaScript API 添加一个 topographic map with graphics(地形图与图形)————(四)
- ArcGIS Viewer for Flex(Layer 层标签)
- ArcGIS Viewer for Flex(Layer 层标签) .
- (十一)ArcGIS API For Javacsript编辑客户端图形
- ArcGIS API For Javacsript编辑客户端图形
- 其中Android平板具有电容式触摸屏
- js(jQuery)获取时间的方法及常用时间类
- Hadoop配置datanode
- Oracle数据库Where条件执行顺序 及Where子句的条件顺序对性能的影响
- 【LeetCode】Copy List with Random Pointer 解题报告
- Graphics in the ArcGIS API for Flex(ArcGIS中的图形层)
- setValue和setObject的区别
- java urlrewrite伪静态
- HTML5中Audio标签的使用与通过JS暂停音乐播放器audio
- UBUNTU14.04 hadoop搭建的注意事项
- WPF之各种图形
- 银行IT男对金融互联网的感悟
- C++ Singleton Class
- 基于FT5x06嵌入式Linux电容触摸屏驱动