Быстрое получение видимых аннотаций / кластеров показано на карте - PullRequest
0 голосов
/ 03 июля 2018

В настоящее время я разрабатываю приложение, в которое я загружаю изображения пользователей в виде аннотации на карту. В настоящее время я использую API для загрузки изображений в viewForAnnotation для каждой аннотации изображений, и если у пользователя более нескольких тысяч фотографий, эта функция загрузки изображений вызывается каждый раз и значительно снижает производительность.

Можно ли в любом случае получить только аннотации, которые в настоящее время отображаются на карте, т. Е. Только аннотации и группы аннотаций, которые видны пользователю? API Apple для аннотаций (in :) с использованием visibleMapRect возвращает практически каждую аннотацию, тогда как я просто хочу высокоуровневую или отображаемую в данный момент аннотацию. Например, на изображении, связанном ниже, появляются 2 аннотации, но эти 2 аннотации представляют собой кластеры из сотен аннотаций. Есть ли способ просто загрузить изображение для этих двух вместо каждой отдельной аннотации?

enter image description here

1 Ответ

0 голосов
/ 03 июля 2018

Вы можете проверить, как это:

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
    if annotation is MKClusterAnnotation {
        // Need to load images
    }
    ...
}
...