Как я могу создать список формы графической геометрии обратно MapPoints
Я получил список точек из многоугольника следующим образом;
public Graphic Graphic { get; set; }
public List<MapPoint> MapPoint { get; set; }
MapPoint = new List<MapPoint>();
ESRI.ArcGIS.Client.Geometry.PointCollection points = null;
if (Graphic.Geometry is Polygon)
{
points = ((Polygon)Graphic.Geometry).Rings[0];
foreach (MapPoint mapPoint in points)
{
//Save the points
MapPoint.Add(mapPoint);
}
}
Теперь мой вариант использования требует добавления этой геометрии обратно к графике после сериализации / десериализации атрибута List(). Поскольку кольца являются частью полигона, а полигон имеет конструктор, который принимает список точек карты, я думаю, что следующий код работает, но он не компилируется.
Класс многоугольника: https://developers.arcgis.com/net/10-2/desktop/api-reference/html/M_Esri_ArcGISRuntime_Geometry_Polygon__ctor_4.htm
Как я могу вернуть кольца обратно в графический атрибут?
List<MapPoint> mapPoint = null;
Polygon myPolygon = null;
foreach(Atribution at in sc. Atribution)
{
foreach(AtributionContour atContour in at.Contours)
{
myPolygon = new Polygon(new List<MapPoint>( AtributionContour.MapPoint.ToList()));
//Append polygon to a Geometry
//Append geometry to graphic
}
}
ошибка
Ошибка CS1729 "Полигон" не содержит конструктор, который принимает 1 аргумент
1 ответ
Используйте конструктор, который берет коллекцию из набора точек. Одна коллекция очков для каждого кольца: https://developers.arcgis.com/net/10-2/desktop/api-reference/html/M_Esri_ArcGISRuntime_Geometry_Polygon__ctor_5.htm