Производительность хорошая с 280 аннотациями, внешний вид - нет. Вы должны сгруппировать их в кластеры, когда пользователь уменьшит масштаб.
Один из способов сделать это:
- Решите, сколько аннотаций кластера вы хотите показать.
- Разделите экран на x * y плитки, чтобы примерно
x*y =~ numClusters
и x/y=480/320=1.5
- Добавить кластерную аннотацию на плитку (это обычный кластер с массивом, содержащим 0 или более аннотаций).
- Запустить алгоритм k-средних :
- Переберите все аннотации и добавьте каждую в ближайший кластер.
- Рассчитайте новый центр для каждого кластера, который будет в среднем от центров всех его членов.
- Очистить каждый кластер.
- Повторяйте, пока кластер больше не будет двигаться.
- Удалить пустые кластеры, если таковые имеются.
В итоге вы получите numClusters
кластеров, расположенных в соответствии с плотностью аннотации.
Вы также можете оставить несколько обычных аннотаций сами по себе, если они находятся за пределами кластеров. Зависит от того, как вы хотите, чтобы это выглядело.