[GIS] Difference between Identify task & Attribute Info in ArcGIS API for JavaScript

arcgis-javascript-apiidentify

I am confused about the difference between Identify task and attribute info task.

According to research, both are displaying attribute information

  1. Interestingly if one point contains multiple attribute then Identify task shows multiple records while Attribute window display only single record

  2. Identify task displays the information if record is hidden in certain cases while Attribute window not.

  3. If you are using Dynamic layers in ArcGIS Java Script API (ver. 2.x & 3.x) then you cannot use Attribute window option while identify task works for both (i.e. feature layer and Dynamic layer)

So what exactly difference between them? & which is recommended?

Best Answer

The identify task displays data that is queried using a geometry. It only returns information from layers in the map service that you specify in the identify parameters.

What you are calling the "attribute info task" is more than likely the info popup that displays the attribute information of a feature layer. That is why it does not work on a dynamic layer, but the identify does.

So to answer your observations

  1. That is correct because identify will send the geometry back to the server along with a list of layers in the map service that you would like to query for data. The attribute window only displays data from the feature that you click on.

  2. See answer 1, the identify task queries the layers you specify, not what is visible.

  3. Yes, because the feature layer already has the attribute data, the dynamic service does not.

As far was what is recommend it depends on what you are trying to do. Who can use the idenfity task to only identify information about a specific layer or just for the visible layers but that needs to be done in the identify parameters of the task. If you just want map tips and are using feature layers then use the attribute window.

Related Question