Flex开发ArcGIS问题集锦九:怎样使用QueryTask执行空间查询和属性查询

来源:互联网 发布:java需求分析文档 编辑:程序博客网 时间:2024/05/22 23:08

                       Flex开发ArcGIS问题集锦九:怎样使用QueryTask执行空间查询和属性查询

代码

<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   xmlns:mx="library://ns.adobe.com/flex/mx"   xmlns:esri="http://www.esri.com/2008/ags"   xmlns:s="library://ns.adobe.com/flex/spark"   pageTitle="Query Task (with a map)"><s:layout><s:VerticalLayout gap="10"  horizontalAlign="center"  paddingBottom="20"  paddingLeft="25"  paddingRight="25"  paddingTop="20"/></s:layout><fx:Script><![CDATA[import com.esri.ags.FeatureSet;import com.esri.ags.Graphic;import com.esri.ags.components.LabelDataRenderer;import mx.controls.Alert;import mx.core.UIComponent;import mx.rpc.AsyncResponder;private function doQuery():void{query.where = "wellName like '%" + qText.text + "%'";queryTask.url = "http://SDRJ-WX/arcgis/rest/services/sample/MapServer/0"; queryTask.execute(query, new AsyncResponder(onResult, onFault));function onResult(featureSet:FeatureSet, token:Object = null):void{myGraphicsLayer.graphicProvider = featureSet.features;datagrid.dataProvider = featureSet.attributes;}function onFault(info:Object, token:Object = null):void{Alert.show(info.toString(), "Query Problem");}}]]></fx:Script><fx:Declarations><!--第一步:实例化QueryTask--><esri:QueryTask id="queryTask" showBusyCursor="true"url="http://SDRJ-WX/arcgis/rest/services/sample/MapServer/0"/><esri:Query id="query"outSpatialReference="{myMap.spatialReference}"returnGeometry="true"><esri:outFields><fx:String>wellName</fx:String><fx:String>wellCode</fx:String></esri:outFields></esri:Query></fx:Declarations><s:Panel height="60" backgroundColor="0xB2BFC6" title="请输入你要搜索的井名"><s:layout><s:HorizontalLayout/></s:layout><s:TextInput id="qText" width="100%" enter="doQuery()" text="三星"/><s:Button click="doQuery()" label="搜索"/></s:Panel><esri:Map id="myMap" width="627" height="416"><esri:extent><esri:Extent xmin="-504.498455000157" ymin=" -10490.0680449995" xmax="10500.1491550003"  ymax="507.490945000109"><esri:SpatialReference wkid="2379"/></esri:Extent></esri:extent><!--使用sample地图--><esri:ArcGISDynamicMapServiceLayer url="http://SDRJ-WX/arcgis/rest/services/sample/MapServer"/><esri:GraphicsLayer id="myGraphicsLayer"/></esri:Map><mx:DataGrid id="datagrid" bottom="20" width="200" height="150" horizontalCenter="0" /></s:Application>

效果


到此结束!!!