我正在使用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中传递空白值,那么它没有任何功能.
任何想法…提前感谢
解决方法:
不,您不能通过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并确保所有字段都具有空格字符,然后查找您发送的带有空白字符“”的所有功能.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。