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 });
  • 相关阅读:
    Redhat6 —— Yum详解
    jQuery——bind绑定多事件用法
    织梦之路——织梦自由列表页分页链接绝对路径化(SEO)
    PHP算法——等宽等像素值截取字符串
    PHP算法——文件大小排序(KB、MB、GB、TB)
    HDU 3647 Tetris
    HDU 2442 Bricks
    ZOJ 2112 Dynamic Rankings
    HDU 3001 Travelling
    HDU 3559 Frost Chain
  • 原文地址:https://www.cnblogs.com/yanwu0527/p/7735599.html
Copyright © 2011-2022 走看看