//Silverlight前台添加 GraphicsLayer 图层
<esri:GraphicsLayer ID="MyGraphicsLayer" Opacity="0.5"/>
/// <summary>
/// ArcGIS API for Silverlight 画圆
/// </summary>
/// <param name="radius">圆的半径</param>
/// <param name="centerP">圆心的点</param>
/// <param name="graphicsLayer">GraphicsLayer图层</param>
public void GetEllipseGraphic(double radius, MapPoint centerP, GraphicsLayer graphicsLayer)
{
Graphic result = new Graphic();
List<MapPoint> points = new List<MapPoint>();
for (double i = 0; i <= 360; i++)
{
points.Add(new MapPoint((centerP.X - Math.Cos(Math.PI * i / 180.0) * radius), (centerP.Y - Math.Sin(Math.PI * i / 180.0) * radius)));
}
ESRI.ArcGIS.Client.Geometry.PointCollection pCollection = new ESRI.ArcGIS.Client.Geometry.PointCollection(points);
ESRI.ArcGIS.Client.Geometry.Polygon g = new ESRI.ArcGIS.Client.Geometry.Polygon();
g.Rings.Add(pCollection);
result.Geometry = g;
SimpleFillSymbol sfs = new SimpleFillSymbol();
sfs.BorderBrush = new SolidColorBrush(Colors.Red);
sfs.BorderThickness = 2;
sfs.Fill = new SolidColorBrush(Colors.DarkGray);
result.Symbol = sfs;
graphicsLayer.Graphics.Add(result);
}
ArcGIS API for Silverlight 在地图上画圆
最新推荐文章于 2024-07-27 15:57:19 发布