-
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。