Отображение линий и точек отслеживания с помощью 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