如何利用Microsoft Rx Framework在WinRT / Windows 8中有效地实现Bing Map

时间:2013-06-18 08:16:22

标签: windows-8 windows-runtime system.reactive bing

在我的电子商务应用程序中,我需要在Bing地图中绘制我附近的商店,而我的另一个要求是在缩放和调整地图时我需要根据地图中心更新我的商店。因此,为了实现这一点,我主要选择传统的编码方式。步骤如下:

  1. 首次发布我将发送api位置请求,并将在地图上绘制商店。

  2. 在地图ViewChanged事件中,我将根据地图当前商店发送附近商店的后续请求。 所以在这个实现过程中,我在单个api请求中获得了大约400个商店。我会在地图上绘制这个。但是当我缩放或平移地图时,它会同时发送多个请求并尝试更新UI上的图钉,最终它会阻止UI和Map在我的应用程序中表现得非常糟糕。
  3. 在Google搜索过程中,我发现了很多关于使用Microsoft Rx框架实现类似功能的建议。但没有得到任何正确的代码示例来实现我的目标。任何人都可以帮助我或指导我解决我的问题。 请记住,我需要在一次请求中在地图上平均绘制400个商店。

    此致

    Stez。

1 个答案:

答案 0 :(得分:2)

听起来您只是在连接和/或服务器饱和多个请求时,因为事件是在缩放时发生的。您要做的是避免直接从该事件进行API调用。相反,您可以启动计时器(或重新启动,如果已经运行)。这样,您可以缓冲这些重复的事件,直到用户停止缩放,然后只提交一个API请求。

当然,您必须使用该计时器的持续时间来查找等待事件完成之间的平衡,并为用户提供响应更新:)