silverlight - 以编程方式将数百个图钉添加到 bing map 会卡住 WP7 UI

标签 silverlight windows-phone-7 bing-maps pushpin

我正在开发一个 WP7 应用程序,它使用 bing map 来显示 ~600 个图钉。当我使用 map.Children.Add(pushpin) 将它们添加到 map 时,UI 会卡住约 200 毫秒。我已经看到,在silverlight 中,您可以使用Microsoft.Maps.EntityCollection 向 map 添加图钉,但不幸的是我找不到如何在WP7 上使用该程序集。有谁知道解决这个问题?

最佳答案

也许您正在以错误的方式看待问题。 WP7 是一款紧凑型(虽然功能强大),擅长快速向用户展示他们想知道的内容(当应用程序编写正确时)。

用户不可能在这么小的设备上一次性看到 600 个图钉,那么为什么不向他们展示位于可视区域(或靠近它)的图钉,并在用户在 map 上平移时添加图钉呢?

或者,您可以使用 DispatcherTimer 一次添加一个(或多个)图钉来“涓涓”地提供图钉。以便用户看到图钉被逐渐添加而不会显着影响性能。

另一种可能性(这是我通常做的)是添加 MapItemsControl将 DataTemplate 设置为图钉并将集合绑定(bind)到图钉位置集合。如果绑定(bind)到 ObservableCollection如果性能有问题,您可以如上所述“涓流”喂它。

关于silverlight - 以编程方式将数百个图钉添加到 bing map 会卡住 WP7 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6225309/

相关文章:

visual-studio - 是否可以跟踪在Visual Studio中调试Silverlight应用程序时触发的所有事件?

javascript - 如何将 Bing Maps v8 添加到 Angular 2.0?

c# - 有没有办法将英语动词转换为 C# 上的现在时

Jquery Bings map Json 重新加载

javascript - 如何缩放 bing map 以显示一组纬度/经度点?

javascript - Silverlight Javascript - 在 javascript 中访问和设置 xaml 文本框的值

c# - 存储 Windows Phone 的设置

silverlight - 首次添加到列表框时动画 WP7 数据模板元素

c# - HttpWebRequest 中图像的最大允许大小是多少?

c# - 如何在代码、c#、wp7中访问应用程序资源