对比queryTask的模糊查询,使用where,query.where="字段 like "+"'%某一个值%'";//模糊查询
FindTask的模糊查询,设置findParameters.contains = true即可,完整代码如下:
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{
mui.alert("信息获取错误!!!!") } }); });