如何将点击处理程序传递给特定的地图图层?

时间:2019-04-13 11:47:43

标签: reactjs arcgis-js-api

我正在尝试访问特定ArcGIS WebMap图层的属性。 我已经将单击处理程序附加到WebMap React组件,但是只能从基本地图访问mapPoint.latitude和mapPoint.longitude值(在事件中)。

例如,在第4层中,当我单击地图的特定区域时,我想访问“位置名称”的自定义值。

简化的示例代码:

clickHandler = e => {
  console.log(e.mapPoint.latitude + ", " + e.mapPoint.longitude);
};

...

<WebMap
  viewProperties={{
    center: [ this.props.latitude, this.props.longitude ],
    zoom: 12
  }}
  mapProperties={{ basemap: "streets" }}
  onClick={e => this.clickHandler(e)}
  id="9a9a9a9aaaccc1234"
/>

1 个答案:

答案 0 :(得分:0)

如您所见,点击处理程序只会为您提供mapPoint坐标。

为了从该mapPoint上的特定Featurelayer获取信息,您需要使用mapPoint上的那些坐标作为查询几何,在感兴趣的FeatureLayer上执行IdentifyTaskQueryTask。有关如何精确执行此操作,请参阅文档中的示例。