0

Используя карты Google на Android, у меня есть местоположение и около 1000+ маркеров на карте. Мне нужно определить, какие маркеры попадают в радиус местоположения. Таким образом, далеко, похоже, поиск грубой силы используется, и типичный ответ выглядит как this. Но это неэффективно, когда есть много маркеров.Каков наиболее эффективный способ найти список маркеров в поиске радиуса с помощью Google Maps?

Поиск в API карт Google для android не выявил метод sdk, который выполняет эффективный поиск списка маркеров и возвращает подмножество маркеров, которые соответствуют радиусу ... Поддерживает ли Google карты sdk этот тип запроса? Если нет, поиск грубой силы - единственный вариант? И если грубая сила возможна только, что было бы самой эффективной реализацией.

ответ

1

Держите маркеры в quadtree вместо того, чтобы хранить их в обычном списке. Таким образом, вам просто нужно проверить маркеры внутри узлов дерева, на которые влияет нужный радиус.

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