FindTask练习

ContractedBlock.gif ExpandedBlockStart.gif CODE
 
   
<? xml version="1.0" encoding="utf-8" ?>
< s:Application xmlns:fx ="http://ns.adobe.com/mxml/2009"
xmlns:s
="library://ns.adobe.com/flex/spark"
xmlns:mx
="library://ns.adobe.com/flex/mx" minWidth ="955" minHeight ="600" xmlns:esri ="http://www.esri.com/2008/ags" >
< fx:Script >
<! [CDATA[
import com.esri.ags.Graphic;
import com.esri.ags.events.FindEvent;
import com.esri.ags.geometry.Geometry;

private function doFind():void
{
findTask.execute(myFindParams);

}
private function executeCompleteHandler(event:FindEvent):void
{
myGraphicsLayer.clear();
var graphic:Graphic;
resultSummary.text = "找到" + event.findResults.length + "结果.";
var resultCount:int = event.findResults.length;
for (var i:Number = 0; i < resultCount; i++)
{
graphic = event.findResults[i].feature;
graphic.toolTip = event.findResults[i].foundFieldName + ": " + event.findResults[i].value;

switch (graphic.geometry.type)
{
case Geometry.MAPPOINT:
{
graphic.symbol = sms;
break;
}
case Geometry.POLYLINE:
{
graphic.symbol = sls;
break;
}
case Geometry.POLYGON:
{
graphic.symbol = sfs;
break;
}
}
myGraphicsLayer.add(graphic);
}

}
]]
>
</ fx:Script >
< fx:Declarations >
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<!-- Symbol for Find Result as Polyline -->
< esri:SimpleLineSymbol id ="sls"
width
="3"
alpha
="0.9"
color
="0xFFFF00"
style
="solid" />

<!-- Symbol for Find Result as Point -->
< esri:SimpleMarkerSymbol id ="sms"
alpha
="0.9"
color
="0xFFFF00"
size
="11"
style
="cross" >
< esri:SimpleLineSymbol color ="0x000000" />
</ esri:SimpleMarkerSymbol >

<!-- Symbol for Find Result as Polygon -->
< esri:SimpleFillSymbol id ="sfs"
alpha
="0.7"
color
="0xFFFF00" />

< esri:FindTask id ="findTask" executeComplete ="executeCompleteHandler(event)"
url
="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer" />
< esri:FindParameters id ="myFindParams" returnGeometry ="true" contains ="true"
searchText
="{qText}" layerIds ="[0,1,2]" searchFields ="[CITY_NAME,NAME,SYSTEM,STATE_ABBR,STATE_NAME]" />


</ fx:Declarations >
< s:layout >
< s:VerticalLayout paddingTop ="10" paddingLeft ="10" paddingRight ="10" />
</ s:layout >
< s:BorderContainer width ="100%" height ="40" backgroundColor ="0xDDDDFF" borderVisible ="false" >
< s:layout >
< s:HorizontalLayout horizontalAlign ="center"
paddingLeft
="20"
paddingTop
="10" />
</ s:layout >
< s:TextInput id ="qText" text ="Paradise" enter ="doFind()" />
< s:Button label ="查询" click ="doFind()" />
</ s:BorderContainer >
< s:Label id ="resultSummary" height ="15" />
< mx:HDividedBox width ="100%" height ="100%" >
< esri:Map id ="myMap" >
< esri:ArcGISDynamicMapServiceLayer
url ="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer" />
< esri:GraphicsLayer id ="myGraphicsLayer" />
</ esri:Map >
< mx:DataGrid width ="40%" height ="100%" dataProvider ="{findTask.executeLastResult}" >
< mx:columns >
< mx:DataGridColumn width ="70"
dataField
="layerId"
headerText
="图层ID" />
< mx:DataGridColumn dataField ="layerName" headerText ="图层名字" />
< mx:DataGridColumn dataField ="foundFieldName" headerText ="已找到图层" />
< mx:DataGridColumn dataField ="value" headerText ="图层值" />
</ mx:columns >

</ mx:DataGrid >


</ mx:HDividedBox >
</ s:Application >

转载于:https://www.cnblogs.com/gisak/archive/2011/05/06/2039284.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值