2013-06-18 7 views
28

私の電子商取引アプリケーションでは、近くの店舗をBingマップにプロットする必要があります。マップをパンニング地図センターに基づいて店舗を更新する必要があります。だから私はこれを実装するために、伝統的なコーディング方法を選択します。手順は次のとおりです。WinRT/Windows 8でBingマップを効果的に実装するためにMicrosoft Rx Frameworkを使用する方法

  1. 最初の起動私は場所のAPIリクエストを送信し、地図上に店舗をプロットします。

  2. Maps ViewChangedイベントでは、マップの現在の店舗に基づいて、近くの店舗に対する後続のリクエストを送信します。 この実装では、1回のAPIリクエストで約400店舗を利用しています。そして私は地図上にこれをプロットします。しかし、マップをズームまたはパンすると同時にいくつかの要求が送信され、UI上のプッシュピンを更新しようとすると、UIとマップがブロックされ、アプリでひどく振る舞います。

Google検索では、同様の機能を実装するためにMicrosoft Rxフレームワークを使用することに関する多くの提案がありました。しかし、私の目標を達成するための適切なコードサンプルは得られませんでした。誰でも私を助けてください、私の問題を解決するために私を案内してください。 覚えておいてください私は、1回のリクエストでマップの平均400店舗をプロットする必要があります。

ありがとう、

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呼び出しを行うことを避けることです。代わりに、単にタイマーを開始することができます(またはすでに実行中の場合は再起動)。これにより、ユーザーがズームを停止してから1つのAPIリクエストを送信するまで、繰り返しイベントをバッファリングできます。

もちろん

、あなたが終了するイベントを待っている、とユーザーに応答性の更新を与えるとの間のバランスを見つけるために、そのタイマーの期間でプレイする必要があります:)

関連する問題