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:
Notes:
* 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);;
graphics.add(graphic);
}
fLayer.addGraphics(graphics);
@Override public boolean onSingleTap(final MotionEvent e)
{
...
int[] ids = featureLayer.getGraphicIDs((float)e.getX(), (float)e.getY(), 15);
featureLayer.setSelectedGraphics(ids, true);
}
[ATTACH=CONFIG]24614[/ATTACH]
Thanks...
Ambrose.