ArcGIS API For Javascript 之 FindTask多图层的模糊查询

对比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("信息获取错误!!!!") } }); });

猜你喜欢

转载自blog.csdn.net/wangchaohpu/article/details/81040321