QueryTask,FindTask,IdentifyTaskflex区别

来源:互联网 发布:linux ss客户端 编辑:程序博客网 时间:2024/06/11 07:54

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,可以查询非唯一的数据。

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];identifyResults[i].feature加入显示图层显示

 

函数返回:

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)

 

FindTask:var f:findResult=FindResults[i]var g:graphic=f.feature;graphiclayer.add(g)  IdentifyTask:
var r:identifyResult=Results[i];var g:graphic=r.feature;graphiclayer.add(g)

原创粉丝点击