Как передать обработчик кликов на определенный слой карты? - PullRequest
1 голос
/ 13 апреля 2019

Я пытаюсь получить доступ к свойствам определенного слоя ArcGIS WebMap.Я прикрепил обработчик кликов к компоненту WebMap React, но я могу получить доступ только к значениям mapPoint.latitude и mapPoint.longitude (в событии) из базовой карты.

Например, из слоя 4 Iхотите получить доступ к пользовательскому значению «Имя местоположения» при нажатии на определенные области карты.

Упрощенный пример кода:

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 Ответ

1 голос
/ 24 апреля 2019

Как вы обнаружили, обработчик кликов даст вам только координаты mapPoint.

Чтобы получить информацию от определенного слоя объектов в этом mapPoint, вам нужно выполнить IdentifyTask или QueryTask на интересующем уровне FeatureL, используя эти координаты из mapPoint в качестве геометрия запроса. См. Примеры из документации о том, как именно это сделать.

...