Как бороться с задержкой, возникающей из-за сотен аннотаций карты в MKMapView? - PullRequest
3 голосов
/ 19 марта 2011

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

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

1 Ответ

6 голосов
/ 19 марта 2011

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

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

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

...