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

Ste*_*Pet 28 bing system.reactive windows-8 windows-runtime

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

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

  2. 在Maps ViewChanged事件中,我将根据当前商店的地图发送对附近商店的后续请求.所以在这个实现过程中,我在单个api请求中获得了大约400个商店.我会在地图上绘制这个.但是当我缩放或平移地图时,它会同时发送多个请求并尝试更新UI上的图钉,最终它会阻止UI和Map在我的应用程序中表现得非常糟糕.

在Google搜索期间,我发现了许多关于使用Microsoft Rx框架实现类似功能的建议.但没有得到任何正确的代码示例来实现我的目标.任何人都可以帮助我或指导我解决我的问题.请记住,我需要在一次请求中在地图上平均绘制400个商店.

问候,

Stez.

Joe*_*nez 2

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

当然,您必须调整该计时器的持续时间,以找到等待事件完成和为用户提供响应式更新之间的平衡:)