(二三)ArcGIS JS QueryTask和FindTask实现模糊查询

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查询,可以查询多个图层,设置条件较为简单

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值