ARCGIS Javascript需要选择地图中的所有要素

ARCGIS Javascript需要选择地图中的所有要素,javascript,gis,arcgis,Javascript,Gis,Arcgis,我正在使用ArcGIS Javascript语言,并使用esri.tasks.FindTask,我想选择所有功能 当我通过空白参数时,它不工作。 我正在粘贴一些代码。在这段代码中,我有searchid和seachField,而不是execute方法将调用的 var searchText = document.getElementById('txtSearch').value; findTask = new esri.tasks.FindTask(SearchURL);

我正在使用ArcGIS Javascript语言,并使用esri.tasks.FindTask,我想选择所有功能

当我通过空白参数时,它不工作。 我正在粘贴一些代码。在这段代码中,我有searchid和seachField,而不是execute方法将调用的

 var searchText = document.getElementById('txtSearch').value;
        findTask = new esri.tasks.FindTask(SearchURL);
        findParams = new esri.tasks.FindParameters();
        findParams.returnGeometry = true;
        findParams.layerIds = [searchId];
        findParams.searchFields = [seachField];                             
        findParams.searchText = searchText;
        findTask.execute(findParams, showResults);
但若假设我当时在searchtext中传递空白值,它并没有给我任何特性


任何想法…提前感谢

不,您不能使用“查找”任务的自定义行为来实现这一点,您需要进行“变通”

要获得更大的查询灵活性,您需要使用查询TAK,要获取所有文件,您可以使用以下查询:

var query = new esri.tasks.Query("http://myarcgisserver:6080/arcgis/rest/services/mymapservice/MapServer/8");
query.where = "1=1";
query.outSpatialReference = {wkid:102100}; 
query.returnGeometry = true;
query.outFields = ["*"];
queryTask.execute(query, addPointsToMap);

正如您所要求的,在不同的层中执行查询需要每个层有一个请求,因此,如果您想通过findTask执行查询,可以使用设置为
true
contains
参数,并确保所有字段都有一个空格字符,然后查找发送查找的所有功能“”空白字符。

但是esri.tasks.Query()中的问题是我们只能在一个层中搜索功能。喜欢var query=new esri.tasks.query();queryTask=新的esri.tasks.queryTask(LayerName);query.where=WhereCondition;query.returnGeometry=true;query.outFields=[“*”];execute(查询、显示结果以获取建议);但是克劳迪奥我想搜索地图上的所有特征。。esri.tasks.Query()可以吗?…好的,谢谢Claudio的回复,我会尝试其他的方法。单次查询似乎是不可能的。您有一个解决方法,但不是正确的解决方案,您可以使用contains标志为true并保证所有字段都有一个空格字符,然后当您要查找所有功能时,发送一个带有“”空白字符的查找。