Оптимизация для многих маркеров на Google Map ios sdk? - PullRequest
0 голосов
/ 05 июля 2018

Я использую следующий код, чтобы увидеть, когда маркеры выходят на экран:

let visibleRegion = mapView.projection.visibleRegion()
let bounds = GMSCoordinateBounds(region: visibleRegion)
    for i in stride(from: 0, to: markers.count, by: 1){
        let marker = markers[i]
        if bounds.contains(marker.position) {
            print("Is present on screen")
            print(marker.position)
        } else {
            // Marker not on the screen
        }
    }

Это работает, и когда я прокручиваю карту поверх маркера, я получаю распечатку.

У меня есть 30 тыс. Маркеров, которые мне нужно разместить на карте. Маркеры отображаются на разных уровнях масштабирования, и их нужно загружать только после того, как пользователь сможет их увидеть.

Маркер представляет собой округлое изображение, так как вы представляете себе, что загрузка 30 тысяч картинок на карту - огромная задача.

У меня есть JSON, который я загружаю в Lon / Lat / ImageURL.

Нужно ли отключать маркеры, когда они покидают экран, и инициировать их, когда они появляются на экране? Используются ли аннотации карты Google как ячейка таблицы? Должен ли я создавать маркер только тогда, когда местоположение из моего JSON находится в границах карты, или я могу создать их и добавить их на карту только после того, как они окажутся в границах? Какие инструменты оптимизации мне следует использовать?

Спасибо за любые советы здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...