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

ArcGIS模糊查询实践
本文介绍了如何使用ArcGIS API实现地图服务的模糊查询功能。通过FindTask组件配合FindParameters配置,可以轻松完成针对多个图层的高效搜索。具体示例展示了如何设置含有模糊匹配条件的查询参数,并获取查询结果。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值