var featureLayer = MapView.Active.Map.GetLayersAsFlattenedList()
.OfType<BasicFeatureLayer>().FirstOrDefault();
if (featureLayer == null)
return;
var mv = MapView.Active;
QueuedTask.Run(() =>
{
using (var table = featureLayer.GetTable())
{
using (var rc = table.Search())
{
//get the first feature...
//...assuming at least one feature gets retrieved
rc.MoveNext();
var oid = rc.Current.GetObjectID();
//Use DrawingOutlineType.BoundingEnvelope to retrieve a generalized
//mask geometry or "Box". The mask will be in the same SpatRef as the map
//At 2.x - var mask_geom = featureLayer.QueryDrawingOutline(oid, mv, DrawingOutlineType.Exact);
var mask_geom = featureLayer.GetDrawingOutline(oid, mv, DrawingOutlineType.Exact);
//TODO - use the mask geometry...
}
}
});