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