//定义4个点坐标 double x = 0;double y = 0; PointN pt = new PointN(); pt.X = x; pt.Y = y; PointN pt1 = new PointN(); pt1.X = x + 50; pt1.Y = y ; PointN pt2 = new PointN(); pt2.X = x + 50; pt2.Y = x + 50; PointN pt3 = new PointN(); pt3.X = x; pt3.Y = y + 50; //定义2个颜色 RgbColor red = new RgbColor(); red.Red = 255; red.Blue = 0; red.Green = 0; RgbColor blue = new RgbColor(); blue.Red = 0; blue.Blue = 200; blue.Green = 20; //设置一个标记样式 SimpleMarkerSymbol sms = new SimpleMarkerSymbol(); //sms.Style = esriSimpleMarkerStyle.esriSMSCircle; sms.Style = esriSimpleMarkerStyle.esriSMSDiamond; sms.Size = 10; sms.Color = red; //设置一个line样式 LineSymbol ls = null; ls = new SimpleLineSymbol(); ls.Color = blue; ls.Width = 1; SimpleLineSymbol sls = new SimpleLineSymbol(); sls.Style = esriSimpleLineStyle.esriSLSSolid; sls.Color = red; sls.Width = 2; //定义一个fill样式 SimpleFillSymbol sfs = new SimpleFillSymbol(); sfs.Style = esriSimpleFillStyle.esriSFSForwardDiagonal; sfs.Color = blue; sfs.Outline = ls; //实例化一个标记 MarkerElement marker = new MarkerElement(); marker.Symbol = sms; marker.Point = pt; PointN[] parr = new PointN[2] {pt,pt1 };//点--》点数组 ESRI.ArcGIS.ADF.ArcGISServer.Path linepath = new ESRI.ArcGIS.ADF.ArcGISServer.Path(); linepath.PointArray = parr;//点数组--》path ESRI.ArcGIS.ADF.ArcGISServer.Path[] linepaths = new ESRI.ArcGIS.ADF.ArcGISServer.Path[1]; linepaths[0] = linepath;//path-->path数组 ESRI.ArcGIS.ADF.ArcGISServer.PolylineN line = new PolylineN(); line.PathArray = linepaths;//设置线的path数组 //实例一条线元素 LineElement pline = new LineElement(); pline.Symbol = sls; pline.Line = line; PointN[] parr1 = new PointN[3] {pt1,pt2,pt3 }; ESRI.ArcGIS.ADF.ArcGISServer.Ring ring = new ESRI.ArcGIS.ADF.ArcGISServer.Ring();//环对象是一种封闭的路径,它的起始点和终止点坐标值是一样的,这种对象具有内部和外部属性。是产生多边形的元素 ring.PointArray = parr1; ESRI.ArcGIS.ADF.ArcGISServer.Ring[] rings = new ESRI.ArcGIS.ADF.ArcGISServer.Ring[1]; //rings.SetValue(ring, 0); rings[0] = ring; ESRI.ArcGIS.ADF.ArcGISServer.PolygonN polygon = new PolygonN(); polygon.RingArray = rings; PolygonElement polygonele = new PolygonElement(); polygonele.Polygon = polygon; polygonele.Symbol = sfs; ESRI.ArcGIS.ADF.ArcGISServer.GraphicElement[] ges = new ESRI.ArcGIS.ADF.ArcGISServer.GraphicElement[3];//把3个图形加入 ges[0] = marker; ges[1] = pline; ges[2] = polygonele; ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.MapFunctionality mf = (ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.MapFunctionality)Map1.GetFunctionality(0); ESRI.ArcGIS.ADF.ArcGISServer.MapDescription mapDescription = mf.MapDescription; mapDescription.CustomGraphics = ges; Map1.Refresh();