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

                       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>

效果


到此结束!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值