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


JavaScript ArcGIS QueryTask用法及代碼示例


基本信息

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

AMD: require(["esri/tasks/QueryTask"], (QueryTask) => { /* code goes here */ });

ESM: import QueryTask from "@arcgis/core/tasks/QueryTask";

類: esri/tasks/QueryTask

繼承: QueryTask > Task > Accessor

自從:用於 JavaScript 4.0 的 ArcGIS API

用法說明

已棄用 從 4.20 版開始。請改用query

在圖層上執行不同類型的查詢操作。此類中最常用的方法是execute(),它執行作為參數傳遞給函數的Query 對象中定義的查詢。 QueryTask.execute() 返回一個解析為 FeatureSet 的 Promise,其中包含滿足 Query 的層中的特征。

使用QueryTask,您還可以獲得滿足查詢的要素數量、要素範圍、相關要素或與要素關聯的記錄、要素附件或要素的featureId。

例如,當使用世界城市的要素圖層時,要獲得人口超過 100 萬人的城市的FeatureSet,請使用以下代碼:

require(["esri/tasks/QueryTask", "esri/tasks/support/Query"], function(QueryTask, Query){
  let citiesLayerUrl = " ... "; // Represents the REST endpoint for a layer of cities.
  let queryTask = new QueryTask({
    url: citiesLayerUrl
  });
  let query = new Query();
  query.returnGeometry = true;
  query.outFields = ["*"];
  query.where = "POP > 1000000";  // Return all cities with a population greater than 1 million

  // When resolved, returns features and graphics that satisfy the query.
  queryTask.execute(query).then(function(results){
    console.log(results.features);
  });

  // When resolved, returns a count of the features that satisfy the query.
  queryTask.executeForCount(query).then(function(results){
    console.log(results);
  });

});

相關用法


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