Arcgis 空间查询

216 阅读1分钟

对当前可视区域进行空间查询

require([
    "esri/tasks/support/Query",
    "esri/views/MapView",
    "esri/geometry/Extent",
    "esri/tasks/QueryTask",
    "esri/geometry/Polygon",
    ], (MapView, Extent, Query,QueryTask,Polygon) => { 
        //需求就是当地图缩放时根据可视区域大小显示不同区域的数据
        mapView.on("mouse-wheel", (e) => {
            let queryTask = new QueryTask(
                            "-地图图层地址-"
                        );
            //划定当前可视区域
            var polygonGeometry = new Polygon({
                rings: [
                    [mapView.extent.xmin, mapView.extent.ymin],
                    [mapView.extent.xmax, mapView.extent.ymin],
                    [mapView.extent.xmax, mapView.extent.ymax],
                    [mapView.extent.xmin, mapView.extent.ymax],
                ],
                spatialReference: mapView.spatialReference,
             });
             //开启查询
             let query = new Query();
             // 查询图层的where条件
             // query.where = "STATE_NAME = 'Washington'";
             // 确定查询区域
             query.geometry = polygonGeometry;
             query.returnGeometry = true;
             //查询返回字段
             query.outFields = ["NAME"];
             queryTask.execute(query).then((a) => {
                 //返回数据
                  console.log(a.features);
             });
          });
    });