我目前正在将 WPF 应用程序从 .Net Framework 迁移到 .Net Core (3.1)。此应用程序当前使用 Microsoft.Maps.MapControl.WPF 程序集中的 MapControl。目标是将此控件从 Microsoft.Toolkit.Wpf.UI.Controls 程序集迁移到 UWP MapControl。要求之一是能够在地图上绘制路线/折线。
按照微软的文档(在https://docs.microsoft.com/en-us/windows/uwp/maps-and-location/display-poi中),我能够在地图上画线。然而,最终结果并不理想(视觉上):线条出现像素化,如下图所示:
我怎样才能给这条线一个平滑的外观?有没有办法对它们应用抗锯齿?在网上广泛搜索后,我找不到任何可以平滑渲染这些元素的函数或属性。我能做些什么来实现这一目标?
编辑:
创建 MapPolyLine 的 .Net Framework 方式(使用 Microsoft.Maps.MapControl.WPF):
MapPolyline routeLine = new MapPolyline();
routeLine.Locations = myLocationCollection;
routeLine.Stroke = MY_COLOR;
routeLine.StrokeThickness = 5.0;
routeLine.StrokeLineJoin = PenLineJoin.Round;
创建 MapPolyLine 的 .Net Core 方式(使用 Microsoft.Toolkit.Wpf.UI.Controls):
var myPolyLine = new MapPolyline
{
Path = myPath,
FillColor = MY_COLOR,
StrokeColor = MY_STROKE_COLOR,
StrokeThickness = 6,
ZIndex = 1
};
myMap.MapElements.Add(myPolyLine);