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 });
  • 相关阅读:
    New Concept English Two 20 52
    timer Compliant Controller project (3)--bom and sch
    New Concept English Two 19 49
    CAM350对比两个gerber之间的差异
    New Concept English Two 18 46
    timer Compliant Controller project (2)--Project Demonstration
    New Concept English Two 17 43
    第15.7节 PyQt入门学习:PyQt5应用构建详细过程介绍
    第15.6节 PyQt5安装与配置
    第15.5节 PyQt的历史沿革介绍
  • 原文地址:https://www.cnblogs.com/yanwu0527/p/7735599.html
Copyright © 2011-2022 走看看