zoukankan      html  css  js  c++  java
  • 关于ArcGis for javascrept查询ArcGis server图层信息的方式

    方式一: queryTask方式: 该方式用于单个图层的条件查询(不能跨图层查询)

      1. 创建query对象

    1 query = new esri.tasks.Query();

      2. 给query对象设置参数

    1 query.returnGrometry = true;
    2 query.outFields = ['id, name, ......']  // 查询结果集返回的字段
    3 query.where = 'id=' + id;         // 查询条件

      3. 创建queryTask对象

    1 queryTask = new esri.tasks.QueryTask('http://......');  // 创建queryTask对象,参数为要查询的图层连接

      4. 查询以及结果集处理

    1 queryTask.execute(query, (results) => { // 将query对象作为参数传递给execute方法, results为查询结果集
    2   if (results.features.length > 0) {    // 回调函数
    3     ......  // 处理结果集
    4   } else {
    5     ......  // 结果集为空
    6   }
    7 });

     

    方式二: FindTask方式: 该方式用于同一图层下多个层级的模糊查询(可进行跨图层, 且只能模糊查询)

      1. 创建FindTask对象:

    1 find = new esri.tasks.FindTask(layerUrl); // layerUrl为要进行查询的图层连接

      2. 创建params参数对象

    1 params = new esri.tasks.FindParameters();
    2 params.layerIds = [0, 1, 2, ......];     // 设置查询图层列表
    3 params.searchFields = ['swchNAME'];      // 设置查询图层的字段,根据swchNAME字段来模糊查询
    4 params.searchText = swchName;            // 设置模糊查询的关键词
    5 params.returnGeometry = true;            // 返回空间查询的geometry,方便把返回值结果以图标形式叠加在地图上

      3. 查询以及结果集处理

    1 find.execute(params, (results) => { // 回调函数
    2     if (results.length > 0) {
    3         ......  // 处理结果集
    4     } else {
    5         ......  // 结果集为空
    6     }
    7 });
  • 相关阅读:
    Makefile目标汇总和变量的高级用法
    make命令详解
    再议HTML Clipboard Format
    编写一个Open Live Writer的VSCode代码插件
    win7安装ps cc 2019切片闪退
    redis cluster 数据迁移
    linux服务器两块网卡路由优先级冲突 Metric值(转)
    电梯怎么测,附常见的测试用例
    vue中watch属性深度监听,监听数组或多维数组下层
    前端JS base64与图片互转
  • 原文地址:https://www.cnblogs.com/yanwu0527/p/7735599.html
Copyright © 2011-2022 走看看