Как бороться с задержкой, возникающей из-за сотен аннотаций карты в MKMapView?

Я нахожусь в ситуации, когда будет более 500 аннотаций для загрузки на карту. Какими способами вы справились с результирующим лагом с таким количеством аннотаций на карте?

Одна вещь, которую я рассмотрел: загрузка только части аннотаций на основе текущей области карты в поле зрения. Но что происходит, когда они уменьшают масштаб или перемещаются? Перезагрузить на основе региона отображается?

1 ответ

Решение

MKMapView имеет dequeueReusableAnnotationViewWithIdentifier: метод ( документация), который я считаю, вы должны использовать. Похоже, это работает аналогично UITableView"s dequeueReusableCellWithIdentifier: метод.

Другая вещь может состоять в том, чтобы объединить кластерные контакты в один контакт. При увеличении масштаба вы можете расширить эти группы.

обновление: найдена классная библиотека с открытым исходным кодом, которая может быть полезна для работы с множеством точек аннотации: ADClusterMapView

Другие вопросы по тегам