Подтвердить что ты не робот

Как я могу использовать Microsoft Rx Framework для эффективного внедрения Bing-карты в WinRT/Windows 8

В моем приложении для электронной коммерции мне нужно построить свои близлежащие магазины на карте Bing. И еще одно требование - во время масштабирования и панорамирования карты, которую мне нужно обновить, на основе центра карты. Поэтому для реализации этого я в первую очередь выбираю традиционный способ кодирования. Этапы приведены ниже.

  • Первоначальный запуск Я отправлю запрос api для местоположения и построит карты на карте.

  • В событии Maps ViewChanged я буду отправлять последующие запросы для ближайших магазинов на основе текущего хранилища карт. Поэтому во время этой реализации я получаю около 400 магазинов в одном запросе api. И я построю это на карте. Но когда я увеличиваю или панорамирую карту, он отправляет несколько запросов одновременно и пытается обновить кнопки в пользовательском интерфейсе, в конечном итоге он заблокирует пользовательский интерфейс, а Map будет ужасно работать в моем приложении.

Во время поиска Google я нашел много предложений относительно использования Microsoft Rx framework для реализации аналогичных функций. Но я не получил правильные образцы кода для достижения моей цели. Может ли кто-нибудь помочь мне или помочь мне решить мою проблему. Помните, что мне нужно отображать в среднем 400 магазинов на карте по одному запросу.

Привет,

СТЭЦ.

4b9b3361

Ответ 1

Похоже, вы просто насыщаете соединение и/или сервер несколькими запросами, когда события приходят во время масштабирования. То, что вы хотите сделать, - избегать вызова API непосредственно из этого события. Вместо этого вы можете просто запустить таймер (или перезапустить, если он уже запущен). Таким образом, вы можете буферизовать эти повторяющиеся события, пока пользователь не перестанет увеличивать масштаб, а затем отправит только один запрос API.

Конечно, вам придется играть с продолжительностью этого таймера, чтобы найти баланс между ожиданием завершения событий и дать пользователю отзывчивое обновление:)