Не удается преобразовать из System.Collections.Generic.Listв System.Collections.Generic.List - PullRequest
1 голос
/ 31 мая 2019

Я использую GMaps.NET и GMaps.WindowsPresentation в приложении WPF.Одним из классов, который поставляется с презентацией GMaps, является GMapPolygon и функция с именем CreatePath.Я пытаюсь проверить добавление линии между двумя или несколькими точками, используя эту функцию, но я получаю сообщение об ошибке при разборе списка точек.Должен ли это быть определенный тип списка, или я что-то упустил.

Нет примеров, которые я могу найти для построения линии между двумя точками при использовании Windows Presentation, но есть для Windows Forms

Это то, что я пытаюсь сделать сейчас:

 List<PointLatLng> points = new List<PointLatLng>();
            points.Add(new PointLatLng(48.866383, 2.323575));
            points.Add(new PointLatLng(48.863868, 2.321554));
            points.Add(new PointLatLng(48.861017, 2.330030));
            points.Add(new PointLatLng(48.863727, 2.331918));
            GMapPolygon SectorPolygon = new GMapPolygon(points);
            SectorPolygon.CreatePath( points,true);

Я анализирую эту функцию:

public virtual Path CreatePath(List<Point> localPath, bool addBlurEffect)
      {
         // Create a StreamGeometry to use to specify myPath.
         StreamGeometry geometry = new StreamGeometry();

         using(StreamGeometryContext ctx = geometry.Open())
         {
            ctx.BeginFigure(localPath[0], true, true);

            // Draw a line to the next specified point.
            ctx.PolyLineTo(localPath, true, true);
         }

         // Freeze the geometry (make it unmodifiable)
         // for additional performance benefits.
         geometry.Freeze();

         // Create a path to draw a geometry with.
         Path myPath = new Path();
         {
            // Specify the shape of the Path using the StreamGeometry.
            myPath.Data = geometry;

            if(addBlurEffect)
            {
               BlurEffect ef = new BlurEffect();
               {
                  ef.KernelType = KernelType.Gaussian;
                  ef.Radius = 3.0;
                  ef.RenderingBias = RenderingBias.Performance;
               }

               myPath.Effect = ef;
            }

            myPath.Stroke = Brushes.MidnightBlue;
            myPath.StrokeThickness = 5;
            myPath.StrokeLineJoin = PenLineJoin.Round;
            myPath.StrokeStartLineCap = PenLineCap.Triangle;
            myPath.StrokeEndLineCap = PenLineCap.Square;

            myPath.Fill = Brushes.AliceBlue;

            myPath.Opacity = 0.6;
            myPath.IsHitTestVisible = false;
         }
         return myPath;
      }
...