Flex 中QueryTask,FindTask,IndentifyTask 之间的区别

1:QueryTask是一个进行空间和属性查询的功能类,它可以在某个地图服务的某个子图层内进行查询,顺便需要提一下的是,QueryTask进行查询的地图服务并

不必项加载到Map中进行显示。QueryTask的执行需要两个先决条件:一个是需要查询的图层URL、一个是进行查询的过滤条件。       查询一个图层里面的数据:链

接如http://10.188.180.124:8399/arcgis/rest/services/123/MapServer/13   ,MS只可以查找唯一的数据; 


2:FindTask是在某个地图服务中迕行属性查询的功能类。FindTask不QueryTask的使用徆类似,当然,QueryTask在execute的时候需要给一个Query对象作为参

数,FindTask则是给一个FindParameters对象作为参数。另外,FindTask的url属性需要指向所查询的地图服务的REST URL,而丌像QueryTask需要指定子图层的

URL。   可查询单图层和跨图层数据,输入查询的图层Layers;查询的字段名字Search Fields,查询的条件  Search Text,可以查询非唯一的数据。 


3:IdentifyTask是一个在地图服务中识别要素的功能类。当用户在客户端使用Draw工具绘制了一个几何对象以后,返个几何对象就可以作为IdentifyTask的参数収送到

服务器迕行识别,满足条件的要素将会被输出到ArcGIS Flex API中,同样,返些要素都可以作为Graphic被添加到地图上。 本功能可以实现:在地图上画一个图形,

可以查询该图形覆盖的地图底图数据。 以上这些可以在http://10.188.180.124:8399/arcgis/rest/services/123/MapServer网页最下端Supported Operations详细查看。



QueryTask :还回的是 一个FeatureSet; Featureset.features[i]加入显示图层显示

 FindTask:返回的是一个FindResults数组, FindResults【i】.feature加入显示图层显示 

IdentifyTask:返回的是一个identifyResults[i];数组;identifyResults[i];【i】.feature加入显示图层显示 


 QueryTask 只能针对一个图层进行空间或属性查询  

FindTask 对一个地图服务多个图层(全部,或者指定几个ID索引)做属性查询

Idientfiy 是对一个地图服务多个图层(全部,或者指定几个ID索引)做空间识别查询


函数返回: 

FindTask: 

function ok(FindResults:array):void 
{ 
   var f:findResult=FindResults[i];
   var g:graphic=f.feature; 
   graphiclayer.add(g);
} 

IdentifyTask: 

function ok(identifyResults:array):void
{
   var r:identifyResult=identifyResults[i];
   var g:graphic=r.feature; 
   graphiclayer.add(g);
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值