Отображение линий и точек отслеживания с помощью Mapsui

Я намерен отобразить трек GPS и соответствующие точки трека с помощью Mapsui (wpf) на карте. Я попробовал следующий код. В результате отображается синяя линия (хорошо), красные точки трека (нормально), но по какой-либо причине вы видите белые точки трека, которые очень большие, и я не хочу, чтобы они появлялись на карте, и я не знаю, где белые точки появляются из. Есть идеи, что я делаю неправильно?

       protected ILayer CreateLineStringLayer(String name, List<GeoWaypoint> geoWaypoints)
 {
     var lineString = new LineString();

     List<Feature> featureList = new List<Feature>();

     IStyle pointStyle = new SymbolStyle()
     {
         SymbolScale = 0.30,            
         Fill = new Brush(Mapsui.Styles.Color.FromString("Red"))
     };

     foreach (var wp in geoWaypoints)
     {
         var point = SphericalMercator.FromLonLat(wp.Longitude, wp.Latitude);
         lineString.Vertices.Add(point);

         var p2 = SphericalMercator.FromLonLat(wp.Longitude, wp.Latitude);
         var pointFeature = new Feature();
         pointFeature.Geometry = p2;
         pointFeature.Styles.Add(pointStyle);
         featureList.Add(pointFeature);
      }
        

     IStyle linestringStyle =  new VectorStyle()
     {
        Fill = null,
        Outline = null,
        Line = { Color = Mapsui.Styles.Color.FromString("Blue"), Width = 4 }
     };

    Feature lineStringFeature = new Feature()
    {
       Geometry = lineString
    };
    lineStringFeature.Styles.Add(linestringStyle);

    featureList.Add(lineStringFeature);
    
    MemoryProvider memoryProvider = new MemoryProvider(featureList);

    return new MemoryLayer
    {
       DataSource = memoryProvider,
       Name = name
    };
}

1 ответ

Решение

Так что для всех, кому интересен ответ

return new MemoryLayer
{
   DataSource = memoryProvider,
   Name = name ,
   Style = null
};

Вам необходимо установить значение для Style равным null для Memorylayer

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