1:QueryTask是一个进行空间和属性查询的功能类,它可以在某个地图服务的某个子图层内进行查询,顺便需要提一下的是,QueryTask进行查询的地图服务并
不必项加载到Map中进行显示。QueryTask的执行需要两个先决条件:一个是需要查询的图层URL、一个是进行查询的过滤条件。查询一个图层里面的数据:链
接如http://10.188.180.124:8399/arcgis/rest/services/123/MapServer/13 ,MS只可以查找唯一的数据;
数,FindTask则是给一个FindParameters对象作为参数。另外,FindTask的url属性需要指向所查询的地图服务的REST URL,而丌像QueryTask需要指定子图层的
URL。 可查询单图层和跨图层数据,输入查询的图层Layers;查询的字段名字Search Fields,查询的条件 Search Text,可以查询非唯一的数据。
服务器迕行识别,满足条件的要素将会被输出到ArcGIS Flex API中,同样,返些要素都可以作为Graphic被添加到地图上。 本功能可以实现:在地图上画一个图形,
可以查询该图形覆盖的地图底图数据。以上这些可以在http://10.188.180.124:8399/arcgis/rest/services/123/MapServer网页最下端Supported Operations详细查看。
FindTask:返回的是一个findResults数组, findResults[i].feature加入显示图层显示
IdentifyTask:返回的是一个identifyResults[i];数组;identifyResults[i].feature加入显示图层显示
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);
- }