2013-06-18 28 views
28

在我的電子商務應用程序中,我需要在Bing地圖中繪製我附近的商店,而我的另一個要求是在縮放和我需要根據地圖中心更新我的商店。所以爲了實現這個,我主要選擇傳統的編碼方式。步驟如下。如何使用Microsoft Rx框架在WinRT/Windows 8中有效實現Bing Map

  1. 初始啓動我將發送位置的api請求,並將地圖上的商店。

  2. 在地圖ViewChanged事件中,我將根據地圖當前商店發送隨後對附近商店的請求。 所以在這個實現中,我在單個API請求中獲得了大約400個商店。我會在地圖上繪製它。但是當我縮放或平移地圖時,它會同時發送多個請求,並嘗試更新UI上的圖釘,最終它會阻止UI和Map在我的應用程序中表現非常糟糕。

在谷歌搜索過程中,我發現了很多關於使用Microsoft Rx框架實現類似功能的建議。但沒有得到任何適當的代碼樣本來實現我的目標。任何人都可以請幫我或指導我解決我的問題。 請記住我需要在平均400家商店的地圖上繪製一個請求。

Regards,

Stez。

+1

這是一個相當大的要求之間的平衡!我建議你看看Bart deSmet幾年前寫的Hands On Lab(HOL)。我會想象「Google Suggest」搜索文本示例與您需要的非常相似的代碼/概念。 –

+1

從實驗室手中鏈接:http://blogs.msdn.com/b/rxteam/archive/2010/07/15/rx-hands-on-labs-published.aspx。你可以在這裏找到Rx 2.1的解決方案:https://github.com/dlhartveld/Rx-2.1-HOL-Solution –

回答

2

聽起來好像只是在縮放時發生事件而讓多個請求飽和連接和/或服務器。你想要做的就是避免直接從該事件中調用API。相反,您可以啓動一個計時器(或重新啓動,如果已經運行)。這樣,您可以緩存這些重複的事件,直到用戶停止縮放,然後僅提交一個API請求。

當然,你必須與計時器的時間玩找等待事件完成,並給用戶一個響應更新:)