В методе рисования ItemizedOverlay очень странное поведение. Когда вы говорите: рисовать линии от (x, y) до (x1, y1), метод рисования вызывается примерно 20-30-40 раз - я не знаю почему. Это приемлемо, когда вы рисуете одну линию, но когда вы рисуете тысячи линий, значки и так далее ... это очень, очень плохо! Чтобы решить эту проблему, вы должны создать кэшированное наложение. Это наложение, которое ловит первую ничью, создает объект и затем предотвращает будущие ничьи, которые делают ту же самую ничью.
Кластер - это дюжина иконок позади одного значка. Например, если у вас есть 1000 маркеров на карте, при определенном минимальном уровне масштабирования вы не можете видеть каждый маркер отдельно - он становится путаницей значков и цветов и так далее. И вместо 100 очень близких друг к другу маркеров вы размещаете кластерный маркер. И при увеличении удалите этот кластер и создайте другие кластеры ... делайте это, пока маркеры не станут достаточно далеко и вы не увидите их разделенными.
Проверьте это: Кластерные маркеры