Отображение WPF map control с миллионами POI в настольном приложении
Фон
Я работаю над личным проектом (мобильным приложением), в котором геолокация является функцией. Пользователи регистрируют местоположение в MongoDB (если это коммерчески жизнеспособно, то это будет Azure CosmosDB, но сейчас я тестирую с имитированными данными локально). Чтобы учесть масштаб, я развиваюсь с умом, что у меня будет 10 000 000 локаций (довольно нереально, но я уже облажался раньше, недооценивая, поэтому я умножаю свой расчетный максимум на 10)
Необходимость
Мне нужно "управление"-приложение, которое предпочтительно имеет карту мира с "точками" (это достижимо с помощью Bing Maps и WPF MapControl, а также с помощью кнопок).
Вопрос
Когда я тестировал со 100'000 местоположений, приложение использует 3 ГБ оперативной памяти, занимает 10 минут для загрузки, а навигация по его вкладкам выходит за рамки медленной. если бы я масштабировался до 10'000'000 локаций, это, вероятно, убило бы мой компьютер
Любая помощь, мысли и вклад будут с радостью восприняты
Что я уже пробовал:
Google только толкает DevExpress и Telerik мне в лицо, и ничего в моем ценовом диапазоне
Richard MacCutchan
Вы не должны пытаться построить такие большие объемы за один раз. Как и в случае с виртуальными списками, вам нужно собирать данные и отображать их только по мере того, как пользователь запрашивает больше, или данные должны отображаться в представлении.
Frank R. Haugen
Проблема в том, что "мастер-карта", должна показывать найденные местоположения.
И я действительно удивлен, что элемент управления Bing Maps не имеет функций для обработки такого количества данных (или загрузки их лучшим способом)
Richard MacCutchan
Я думаю, вы обнаружите, что они делают то, о чем я упоминал выше. Информация есть в базе данных, но точки отображаются только тогда, когда они должны быть показаны. Попытка управлять картой мира со всеми точками, уже отмеченными и удерживающими ее в памяти, никогда не сработает.