當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript ArcGIS FeatureLayerView.queryObjectIds用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

類: esri/views/layers/FeatureLayerView

繼承: FeatureLayerView > LayerView > Accessor

自從:用於 JavaScript 4.0 的 ArcGIS API

用法說明

FeatureLayerView.queryObjectIds函數(或屬性)的定義如下:

queryObjectIds (query, options) {Promise<Number[]>}


對 layerView 中可用於繪製的特征執行 Query 並返回滿足輸入查詢的特征的 ObjectIDs 數組。如果未提供查詢參數,則返回所有可用於繪圖的特征的ObjectIDs。

要直接從要素服務而不是視圖中可見的要素查詢ObjectIDs 要素,您必須使用FeatureLayer.queryObjectIds() 方法。

已知限製

  • 空間查詢是針對 layerView 中的量化幾何圖形執行的。 layerView 幾何圖形的分辨率僅與視圖的比例分辨率一樣精確。因此,同一查詢在不同規模下執行時的結果可能會有所不同。這也意味著從任何 layerView 查詢返回的幾何圖形同樣將具有相同的視圖比例分辨率。
  • 空間查詢與 projection engine 文檔中列出的限製相同。
  • 如果 FeatureLayerView 具有以下任何一項,則當前不支持空間查詢SpatialReference
    • GDM 2000 (4742) - 馬來西亞
    • Gusterberg (Ferro) (8042) - 奧地利/捷克共和國
    • ISN2016 (8086) - 冰島
    • SVY21 (4757) - 新加坡

參數:

類型說明
query Query autocast
可選的
來自 Object

指定查詢的屬性和空間過濾器。當沒有參數傳遞給此方法時,將返回客戶端中的所有函數。要僅返回視圖中可見的要素,請將查詢對象中的 geometry 參數設置為視圖的範圍。

options Object
可選的

具有以下屬性的對象。

規格:
signal

AbortSignal

可選的

可用於中止異步任務的信號對象。當發出中止信號時,返回的 Promise 將被名為 AbortErrorError 拒絕。另請參閱AbortController,了解有關如何構建可用於傳遞中止信號的控製器的更多信息。

返回:

類型 說明
Promise<Number[]> 解析後,返回一個數字數組,表示滿足查詢的特征的ObjectIDs。

例子:

let layer = new FeatureLayer({
  url: fsUrl  // points to a Feature Service layer url
});

view.on("click", function(event){

  let query = new Query();
  query.geometry = event.mapPoint;  // obtained from a view click event
  query.spatialRelationship = "intersects";

  view.whenLayerView(layer).then(function(layerView){
    watchUtils.whenNotOnce(layerView, "updating")
    .then(function(){
      return layerView.queryObjectIds(query);
    })
    .then(function(ids){
      console.log(ids);  // prints the ids of the client-side graphics to the console
    });
  });
});
let layer = new FeatureLayer({
  url: fsUrl  // points to a Feature Service layer url
});

// returns all the Ids from the graphics in the layerView
view.whenLayerView(layer).then(function(layerView){
  return layerView.queryObjectIds()
}).then(function(ids){
  console.log(ids);  // prints the ids of all the client-side graphics to the console
});

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 FeatureLayerView.queryObjectIds。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。