微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#Bing Maps SDK非常缓慢

如何解决C#Bing Maps SDK非常缓慢

我正在.NET Core 3.1 WPF应用程序中使用最新的Bing Maps SDK。每当我绘制大量线条(几千条)时,它就会变得非常缓慢,甚至不值得使用。我必须等待大约10秒钟,然后缩放/平移才能更新用户界面。

我缺少明显的东西吗?例如,在传单中,您可以将首选模式设置为画布,这样可以大大加快速度。我希望Bing Maps SDK也有类似的东西。我会很乐意接受Bing Maps SDK的免费替代版本。

<m:Map x:Name="mMap" CredentialsProvider="[Removed]"  Center="54.059388,-1.742378" ZoomLevel="6" />

foreach (var loc in locations)
{

    Mappolyline pl = new Mappolyline();
    pl.Locations = new LocationCollection();
    pl.stroke = Brushes.Green;

    pl.Locations.Add(new Location(loc.Origin.Lat,loc.Origin.Lon));
    pl.Locations.Add(new Location(loc.Destination.Lat,loc.Destination.Lon));
    mMap.Children.Add(pl);
}

解决方法

您似乎正在使用旧的WPF地图控件。该控件使用XAML UI元素绘制折线之类的地图画布项目。 XAML UI元素不能用于大量对象。您应该查看UWP地图控件是否对您有用。

Maps and location overview

这是专为UWP应用程序设计的最新地图控件,但如果需要,可以通过XAML岛将其托管在WPF应用程序中。由于它不使用XAML UI元素,因此对于大量的地图批注应该会表现得更好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。