c# - 使用 Mapsui 显示线串和跟踪点
问题描述
我的目的是在地图上使用 Mapsui (wpf) 显示 GPS 轨迹和相应的轨迹点。我尝试了以下代码。结果是显示蓝色线串(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
};
}
解决方案
所以对于所有对答案感兴趣的人
return new MemoryLayer
{
DataSource = memoryProvider,
Name = name ,
Style = null
};
您需要将 Memorylayer 的 Style 值设置为 null
推荐阅读
- c# - 如何在 Visual Studio 2015 中使用 Webbrowser Edge 而不是默认 Web 浏览器
- selenium-webdriver - 我们可以在 c# 中使用 ip 地址作为 selenium webdriver 中的 url 来导航吗?
- r - 为什么具有位置信息的模型在 R 中不起作用
- node.js - 如何正确处理异步 webhook 请求?
- javascript - 订阅映射的http响应的角度“值未定义”(未发出请求?)
- mysql - 在 Mysql 表中批量数据导入而不删除索引
- spring-data-redis - spring-data-redis 为 RedisCacheManager 创建集群
- powerbi - 获取总活动会话、开始和结束时间
- excel - excel中的网页抓取
- python - 如何获取输入并在 Python 3 中运行代码