#c# #wpf #mapsui
#c# #wpf #mapsui
Вопрос:
я намерен отобразить дорожку gps и соответствующие точки отслеживания с помощью Mapsui (wpf) на карте. Я попробовал следующий код. В результате отображается синяя строка (ok), красные точки дорожки (ok), но по какой-либо причине вы видите белые точки дорожки, которые очень большие, и я не хочу, чтобы они появлялись на карте, и я не знаю, откуда берутся белые точки. Есть идеи, что я делаю не так?
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
Комментарии:
1. Общая проблема, которая должна быть исправлена в следующей основной версии. Это также есть в FAQ mapsui.com/documentation /…