2014-01-20 1 views
-2

Я пытаюсь нарисовать карту с большим количеством маркеров на ней. Просто скажите более 3000 маркеров, и это занимает очень много времени для обработки и использует много памяти.Карта с более чем 3k маркерами

Но у меня есть одна и та же карта на Google Earth, и это очень быстро открывается. Кто-нибудь знает способ ускорить процесс с помощью gmLib?

+0

Я забыл сказать, что я использую Delphi 7 ... –

+0

Трюк, когда вы делаете что-то быстро, обычно не делает этого вообще. Действительно ли Google показывает вам * тысячи * маркеров сразу? Может ли любой человек взять на себя 3000 из них сразу? – shambulator

+0

Да, это показывает (а не Карты Google Earth) ... Маркеры - это электрические мачты в городе, где моя сеть идет, и мне нравится находить какое-то место, делающее масштаб, и смотрю прямо на карту. –

ответ

2

Посмотрите на RTree structures.

R-дерева структура данных дерева, используемая для методов пространственного доступа, т.е. , для индексации многомерной информации, таких как географические координаты , прямоугольники или многоугольники.

Общее применение в реальном мире для R-дерева может быть хранить пространственные объекты, такие как расположение ресторана или многоугольников, что типичные карты сделаны из: улицы, здания, очертания озер, береговых линий и т.д. а затем найти ответы быстро на запросы, такие как «Найти все музеи в пределах 2 км от моего текущего местоположения», «получить все сегменты дороги в пределах 2 км от моего местоположения»

запросов, как тот, который вы ожидаете будет почти немедленный ... :)

Я использую RTree extension available in SQLite3. Наша структура с открытым исходным кодом interfaces this kind of virtual tables with Delphi classes. BTW работает от Delphi 6 до XE5.

Если вы боитесь использовать RTree, просто заказ данных в порядке поможет многому поискам, например. через binary search algorithm.

+0

Мне понравилось ваше предложение, и я попробую это, но здесь дело не в этом. Я действительно хочу нарисовать все маркеры и дать пользователю возможность сделать масштаб на карте и увидеть все ближе. Цель состоит в том, чтобы один визуальный поиск представлял все возможности и позволял пользователю выбирать один. Я попытался отключить свойство AutoUpdate, это действительно ускорит весь процесс, но после этого я не могу найти правильный способ перезагрузить карту. –

 Смежные вопросы

  • Нет связанных вопросов^_^