MapBox Swift: добавление множества маркеров с анимацией - PullRequest
0 голосов
/ 08 октября 2018

Я борюсь со следующей ситуацией:

У меня огромное количество маркеров из моей локальной базы данных областей, и я хочу добавить их 1 на 1 на карте, чтобы их было намного большеудобный.

Но, к сожалению, когда я пытаюсь это сделать, я получаю много ошибок из-за неправильного использования потока.

Вот мой код:

guard let selectedSubCategories = PrivateRealmDatabaseManager.shared.getSelectedSubCategories() else {
    return
}

guard let selectedMarkers = PrivateRealmDatabaseManager.shared.getMarkerModels(fromSubcategories: selectedSubCategories) else {
    return
}

let savedPostsIds = PrivateRealmDatabaseManager.shared.getPostModels()?.compactMap ({ $0.id.value })

markers = selectedMarkers

markers.forEach { [weak self] markerModel in
    guard let latitude = markerModel.locationModel?.latitude.value,
        let longitude = markerModel.locationModel?.longitude.value,
        let title = markerModel.postTitle,
        let categoryTitle = markerModel.categoryTitle,
        let subcategoryTitle = markerModel.subcategoryTitle,
        let postId = markerModel.postId.value else {
        return
    }

    let annotation = VivreAAnnotation(coordinate: CLLocationCoordinate2D(latitude: latitude, longitude: longitude),
                                      title: title,
                                      subtitle: String(format: "%@ - %@", categoryTitle, subcategoryTitle))
    annotation.reuseIdentifier = title

    guard let image = Request.shared.getImage(with: markerModel.iconURLString),
        let resizedImage = image.resizeImage(width: 35) else {
        return
    }
    annotation.image = resizedImage

    self?.mapView.addAnnotation(annotation)
}

массив с маркерами называется markers.Я получаю:

Область, доступ к которой получен из неверного потока

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