Odd Issue with GraphicsLayer::getGraphicIDs(float x, float y, int tolerance)

05-23-2013 06:23 AM
New Contributor II
Implementing a typical identify - and doing the following- on a ArcGISFeatureLayer with 50 or so polygons - the GetGraphicsID() frequently brings back more polygons than expected - polygons that are not connected and not near the point selected:

* The polygons brought back have different objectids
* There are other polygons between and nearer that are not brought back as the result (see the selected items in the screenshot)
* it doesn't happen with all polygons -
* once you find two polygons like this - it is reproducible - clicking on either one will select the other even if they are at opposite ends of the map.

Create Layer code and add polygons section of code

Options options = new Options();
options.mode = MODE.SNAPSHOT;
FeatureSet fs = new FeatureSet();
fLayer = new ArcGISFeatureLayer(CachedData.sRestLayerDef, fs, options);

Graphic[] graphics=(Graphic[])(msg.obj);
{//all graphics are created and added one at a time
   Polygon geom = Utils.GetPolygonFromJson(...);
   Graphic graphic  = new Graphic(geom, fill, attributes, null);;

@Override public boolean onSingleTap(final MotionEvent e)

int[] ids = featureLayer.getGraphicIDs((float)e.getX(), (float)e.getY(), 15);
featureLayer.setSelectedGraphics(ids, true);




0 Kudos
0 Replies