【问题标题】:ARCGIS Javascript Need to select all feature in mapARCGIS Javascript 需要选择地图中的所有要素
【发布时间】:2013-10-01 11:37:44
【问题描述】:

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

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

【问题讨论】:

    标签: javascript gis arcgis


    【解决方案1】:

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

    【讨论】:

    • 但是 esri.tasks.Query() 中的问题是我们只能在一层中搜索特征。喜欢... var query = new esri.tasks.Query(); queryTask = new esri.tasks.QueryTask(LayerName);查询.where = WhereCondition;查询.returnGeometry = true; query.outFields = ["*"]; queryTask.execute(query, showResultsForAdvance);
    • 但是克劳迪奥我想搜索地图的所有特征.. esri.tasks.Query() 有可能吗..
    • 好的,感谢克劳迪奥的回复,我会尝试其他一些事情。似乎单个查询是不可能的..
    • 您有一个解决方法,但不是正确的解决方案,您可以使用 contains 标志为 true 并保证所有字段都有空格字符,然后当您想查找所有功能时发送一个用 " " 空白字符查找。
    猜你喜欢
    • 1970-01-01
    • 2022-01-11
    • 2016-11-23
    • 2019-01-09
    • 2021-12-18
    • 2020-08-08
    • 1970-01-01
    • 2021-12-16
    • 2019-09-29
    相关资源
    最近更新 更多