以编程方式向bing贴图添加数百个图钉冻结了WP7 UI

tep*_*phe 3 silverlight bing-maps pushpin windows-phone-7

我正在开发一个使用bing贴图显示~600个图钉的WP7应用程序.当我使用map.Children.Add(pushpin)将它们添加到地图时,UI会冻结~200 ms.我已经看到在Silverlight中你可以使用Microsoft.Maps.EntityCollection将地图添加到地图但不幸的是我找不到如何在WP7上使用程序集.有谁知道解决这个问题?

Der*_*kin 10

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

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

或者,您可以通过使用一次(或更多)添加它们来"涓涓"喂动图钉,DispatcherTimer以便用户看到逐渐添加图钉而不会显着影响性能.

另一种可能性(我通常这样做)是将MapItemsControlDataTemplate集添加到Pushpin并将集合绑定到您的图钉位置集合.如果绑定是一个ObservableCollection你可以"涓涓"喂它如上所述,如果perf是一个问题.