ArcGIS API for JS4.8 客户端生成的FeatureLayer查询

       FeatureLayer总体上可分为两类,一类是由ArcGIS Server发布的服务构建的FeatureLayer;另一类是由客户端json、graphics等构建的FeatureLayer。

       对第一类FeatureLayer进行查询时,通过FeatureLayer.queryFeatures()方法即可完成,详细的查询方式在官网的demo和API里都有。

      对第二类FeatureLayer进行查询时,只能通过FeatureLayer在渲染时生成的FeatureLayerView进行查询,而且不是可以对任意属性进行查询的,只能对geometry、spatialRelationship、objectIds进行查询。

 获取FeaturelayerView的方法:

 view.whenLayerView(villageLayer).then(function(layerView){
        featureLayerView=layerView;        
      });

查询的方式:

      var query=new Query();
      query.objectIds=[1,2];
      query.geometry=graphic.geometry.extent;
      query.spatialRelationship = "intersects";
     
      featureLayerView.queryFeatures(query).then(function(results){
        console.log(results)
      })

       其实这里有个很大的坑,就是如果你查询设置错误了,ArcGIS API for JS是不会报错的,只会直接跳过查询后的回调,所以调试起来是很不方便的。

 

你可能感兴趣的:(ArcGIS操作与开发,WebGIS开发)