Как реализовать добавление на карту большого количества маркеров?
Здравствуйте!
Есть необходимость добавить на карту большое колличесво маркеров(больше 3000).
Как я видел решение проблемы: 1) Разбить список на равные части, например по 300 элементов, и для каждой части вести поиск тех, которые входят в область видимости в AsynkTask и отображать их. Я проверил этот способ, он оказался медленным, т.к. добавление одного элемента занимает много времени, а т.к. это происходит еще и в UI потоке, то получаются тормоза. 2) Добавить все элементы сразу на карту, но сделать их невидимыми, хранить список добавленных маркеров, и уже работать только над установкой видимости нужных элементов. Тут оказалась другая проблема: момент добавления происходит также в основном потоке, поэтому жаже если и показывать прогресс, то он получается рывками. И при скроле карты так же происходят рывки, так как работа с маркерами происходит в UI потоке.
Все действие происходит с участием Google Maps API v2.
Может у кого-то была схожая задача или есть идеи, как сделать? Поделитесь опытом.
Кластеризация - это не мой случай, так как при определенном зуме я просто не отображаю элементы.
Проблемы с лагами решила библиотека Android Maps Extensions.
Видимо так оптимизировано отображение маркеров.
В связке с бибилиотекой я использую второй вариант действий из своего вопроса.