(二三)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查詢,可以查詢多個圖層,設置條件較爲簡單

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章