当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS GeoJSONLayerView.queryObjectIds用法及代码示例


基本信息

以下是所在类或对象的基本信息。

类: esri/views/layers/GeoJSONLayerView

继承: GeoJSONLayerView > LayerView > Accessor

自从:用于 JavaScript 4.11 的 ArcGIS API

用法说明

GeoJSONLayerView.queryObjectIds函数(或属性)的定义如下:

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


对 layerView 中可用于绘制的特征执行 Query 并返回满足输入查询的特征的 ObjectIDs 数组。如果未提供查询参数,则返回所有可用于绘图的特征的ObjectIDs。

已知限制

  • 空间查询与 projection engine 文档中列出的限制相同。
  • 如果 layerView 具有以下任何一项,则当前不支持空间查询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。

例子:

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
    });
  });
});
// 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大神的英文原创作品 GeoJSONLayerView.queryObjectIds。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。