2018-10-17arcgis三种查询

参考博客

https://www.cnblogs.com/luxiaoxun/p/3297654.html

querytask

针对某个子图层进行空间和属性查询,url指向图层

var me = this;
me,_queryTask=new QueryTask;
var queryTask = me._queryTask;
var query = new Query();
query.where = where || "1=1";
query.orderByFields = orderByFields;
query.geometry = me._spatialQueryGeometry || null;
debugger
return queryTask.executeForIds(query);

findtask

允许对地图中一个或多个图层的要素进行基于属性字段的查询。url指向的是地图服务的url,不能查空间

IdentifyTask

在地图服务中事别要素(Feature)的功能类,通过。通过IdentifyTask可以搜索地图层中与输入几何形相交的要素,因为也是在多个图层中查询,所以Task的URL是动态图层服务的地址。同样,返回的要素都可以作为Graphic被添加到地图的GraphicsLayer上。
查空间和多层要素
var identifyTask = new IdentifyTask(item.url);
// 识别任务参数
var identifyParams = new IdentifyParameters();
identifyParams.tolerance = 10;
identifyParams.returnGeometry = true;
identifyParams.layerOption = IdentifyParameters.LAYER_OPTION_VISIBLE;
identifyParams.layerIds = item.visibleLayers;
identifyParams.width = map.width;
identifyParams.height = map.height;
identifyParams.geometry = evt.geometry;
identifyParams.mapExtent = map.extent;

三种查询的返回结果:

QueryTask:返回的是一个FeatureSet。Featureset.features[i]可以加入到GraphicsLayer上显示,也可以通过Attributes属性字段得到属性信息。

FindTask:返回的是一个FindResults数组, FindResults[i].feature可以加入到GraphicsLayer上显示,也可以通过Attributes属性字段得到属性信息。

IdentifyTask:返回的是一个IdentifyResults数组,IdentifyResults[i].feature可以加入到GraphicsLayer上显示,也可以通过Attributes属性字段得到属性信息。

你可能感兴趣的:(2018-10-17arcgis三种查询)