具体的需求是使用点集生成多边形
//.....
//.....
//.....
if (coordData != null)
{
int ptCount = System.BitConverter.ToInt32(coordData, 0);//点数
Ring ring1 = new RingClass();
object missing = Type.Missing;
for (int i = 0; i < ptCount; i ++)
{
double ptX = System.BitConverter.ToDouble(coordData,4+16*i);
double ptY = System.BitConverter.ToDouble(coordData,4+16*i+8);
IPoint pt = new PointClass();
pt.PutCoords(ptX,ptY);
ring1.AddPoint(pt,ref missing,ref missing);
}
IGeometryCollection pointPolygon = new PolygonClass();
pointPolygon.AddGeometry(ring1 as IGeometry,ref missing,ref missing);
IPolygon polyGonGeo = pointPolygon as IPolygon;
polyGonGeo.SimplifyPreserveFromTo();
//.....
//.....
//.....
envelope.Expand(1.2, 1.2, true);//扩大边界
this.mapCtrlEx.Extent = envelope;//缩放到图元
Application.DoEvents();//使地图先定位然后再闪烁
this.mapCtrl.FlashShape(polyGonGeo, 3, 300, polygonSymbol);
}