queryTask实现模糊查询:
query.where="字段 like %"+"'某一个值+'"%'";//模糊查询
require([
"esri/tasks/QueryTask",
"esri/tasks/query",
"dojo/domReady!"
], function (
Map,
ArcGISDynamicMapServiceLayer,
QueryTask,
Query
) {
var query=new Query();
query.outFields = ["*"];
query.where ="字段 like %"+"'某一个值+'"%'";
query.returnGeometry = true;
//实例化查询对象
var queryTask = new QueryTask("http://localhost:6080/arcgis/rest/services/wfMap/cgstreetDZTiled/MapServer/0");
//进行查询
queryTask.execute(query,showFindResult);
function showFindResult(result) {
console.log(result);
}
});
findTask实现模糊查询
require([
"esri/tasks/FindTask",
"esri/tasks/FindParameters",
"esri/SpatialReference"
], function(FindTask,FindParameters,SpatialReference) {
var findTask = new FindTask("http://localhost/arcgis/rest/services/123/MapServer");
var allLayerIds = [0,1,2,3,4,5,6,7];//需要查询的所有特征图层的Id,即url最后一位
var findParameters = new FindParameters();//创建FindParameters
findParameters.returnGeometry = true;//是否返回几何对象
findParameters.contains = true;//是否接受模糊查找,如果仅仅进行模糊查询,不需要where,设置这个参数就可以
findParameters.outSpatialReference=new SpatialReference({wkid:4326});
findParameters.layerIds = allLayerIds;
// findParameters.searchFields = ["DKMC"];//限定查询的字段,如果不指定此参数,则查询所有的字段
findParameters.searchText = "济南";//查询字段中包含"济南"
//执行查询,回调函数中返回查询结果
findTask.execute(findParameters,function(results){
//如果查询成功并有返回值
if(results){
console.log(results);
}else{
alert("信息获取错误!!!!")
}
});
});
比较
findTask
相交于queryTask
查询,可以查询多个图层
,设置条件较为简单