3

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

当我传递空白参数时,它不起作用。我正在粘贴一些代码。在这段代码中,我有 searchid 和 seachField,而不是执行方法将调用。

 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 中传递空白值并且它没有给我任何功能。

任何想法......在此先感谢

4

1 回答 1

3

不,你不能用 find 任务的自定义行为来做到这一点,你需要做一个“解决方法”。

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

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 进行查询,可以使用设置为的contains参数true并保证所有字段都有空格字符,然后查找所有您发送带有“”空白字符的查找的功能。

于 2013-10-01T11:53:56.407 回答