Как я могу создать список формы графической геометрии обратно 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

Другие вопросы по тегам