-
queryFeatures
(query, options)
{Promise<FeatureSet>}
针对可在 LayerView 中绘制的要素执行 Query 并返回 FeatureSet 。如果未提供查询参数,则返回所有可用于绘制的要素及其在客户端上可用的属性。对于客户端属性查询,availableFields列表中应存在相关字段,查询才能成功。
要对要素服务中的所有要素(而不仅仅是客户端中的要素)执行查询,您必须使用 FeatureLayer.queryFeatures() 方法。
已知限制
- 在针对 layerView 执行的属性查询中使用的属性值区分大小写。
- 空间查询是针对 layerView 中的量化几何图形执行的。 layerView 几何图形的分辨率仅与视图的比例分辨率一样精确。因此,同一查询在不同规模下执行时的结果可能会有所不同。这也意味着从任何 layerView 查询返回的几何图形同样将具有相同的视图比例分辨率。
- 空间查询与 projection engine 文档中列出的限制相同。
- 如果 FeatureLayerView 具有以下任何一项,则当前不支持空间查询SpatialReference:
- GDM 2000 (4742) - 马来西亚
- Gsterberg (Ferro) (8042) - 奥地利/捷克共和国
- ISN2016 (8086) - 冰岛
- SVY21 (4757) - 新加坡
参数:
类型 说明 可选的 来自 Object指定查询的属性和空间过滤器。当此参数未传递给
queryFeatures()
方法时,将返回所有可用于绘图的函数及其在客户端上可用的属性。要仅返回视图中可见的要素,请将查询对象中的geometry
参数设置为视图的范围。options Object可选的 具有以下属性的对象。
规格:signal可选的 可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被名为
AbortError
的 Error 拒绝。另请参阅AbortController,了解有关如何构建可用于传递中止信号的控制器的更多信息。返回:
类型 说明 Promise<FeatureSet> 解析后,将返回包含图形特征数组的 FeatureSet。 例子:
let layer = new FeatureLayer({ url: fsUrl // points to a Feature Service layer url }); let query = new Query(); query.geometry = new Extent({ xmin: -9177811, ymin: 4247000, xmax: -9176791, ymax: 4247784, spatialReference: 102100 }); query.spatialRelationship = "intersects"; view.whenLayerView(layer).then(function(layerView){ layerView.watch("updating", function(val){ if(!val){ // wait for the layerview to finish updating layerView.queryFeatures(query).then(function(results){ console.log(results.features); // prints the array of client-side graphics to the console }); } }); });
let layer = new FeatureLayer({ url: fsUrl // points to a Feature Service layer url }); // returns all the graphics from the layerView view.whenLayerView(layer).then(function(layerView){ layerView.watch("updating", function(val){ if(!val){ // wait for the layerView to finish updating layerView.queryFeatures().then(function(results){ console.log(results.features); // prints all the client-side graphics to the console }); } }); });
layerView.queryFeatures({ geometry: mapPoint, // 6 pixels around a point at the view resolution to query around a finger. distance: view.resolution * 6, });
基本信息
以下是所在类或对象的基本信息。
类:
esri/views/layers/FeatureLayerView
继承: FeatureLayerView > LayerView > Accessor
自从:用于 JavaScript 4.0 的 ArcGIS API
用法说明
FeatureLayerView.queryFeatures
函数(或属性)的定义如下:
相关用法
- JavaScript ArcGIS FeatureLayerView.queryFeatureCount用法及代码示例
- JavaScript ArcGIS FeatureLayerView.queryObjectIds用法及代码示例
- JavaScript ArcGIS FeatureLayerView.queryExtent用法及代码示例
- JavaScript ArcGIS FeatureLayerView.highlight用法及代码示例
- JavaScript ArcGIS FeatureLayerView.effect用法及代码示例
- JavaScript ArcGIS FeatureLayerView.featureEffect用法及代码示例
- JavaScript ArcGIS FeatureLayerView.when用法及代码示例
- JavaScript ArcGIS FeatureLayerView.availableFields用法及代码示例
- JavaScript ArcGIS FeatureLayerView.filter用法及代码示例
- JavaScript ArcGIS FeatureLayer.queryExtent用法及代码示例
- JavaScript ArcGIS FeatureLayer.when用法及代码示例
- JavaScript ArcGIS FeatureLayer refresh事件用法及代码示例
- JavaScript ArcGIS FeatureLayer.getFieldDomain用法及代码示例
- JavaScript ArcGIS FeatureLayer.queryFeatureCount用法及代码示例
- JavaScript ArcGIS FeatureLayer.formTemplate用法及代码示例
- JavaScript ArcGIS FeatureLayer.relationships用法及代码示例
- JavaScript ArcGIS FeatureLayer.objectIdField用法及代码示例
- JavaScript ArcGIS FeatureLayer.opacity用法及代码示例
- JavaScript ArcGIS FeatureLayer.queryRelatedFeatures用法及代码示例
- JavaScript ArcGIS FeatureLayer.datesInUnknownTimezone用法及代码示例
- JavaScript ArcGIS FeatureLayer.featureEffect用法及代码示例
- JavaScript ArcGIS FeatureLayer.timeInfo用法及代码示例
- JavaScript ArcGIS FeatureLayer.createQuery用法及代码示例
- JavaScript ArcGIS FeatureLayer.queryRelatedFeaturesCount用法及代码示例
- JavaScript ArcGIS FeatureLayer.outFields用法及代码示例
注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 FeatureLayerView.queryFeatures。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。