Я работаю над AndroidApp, используя интеграцию с Mapbox. Проблема в том, что я вызываю symbolManager.delete () после onResume () во фрагменте без какой-либо ошибки, но символ все еще отображается на карте.
Я много чего перепробовал, например запуск в UI-Thread, удаление его вручную из symbolManager.annotations.remove (), но ничего не работает.
override fun onResume() {
super.onResume()
fm_main_map?.onResume()
removeOutdated()
}
private fun removeOutdated() {
if (!::symbolManager.isInitialized) return
val outdatedSymbols = arrayListOf<String>()
for (item in symbols) {
Log.d("mappel", "foreach removeOutdated")
val cloudO = itemsInRange[item.key]
if (cloudO?.second?.endsWithStamp ?: 0 < MyTimeApiin .millisNow() {
symbolManager.delete(item.value)
itemsInRange.remove(item.key)
outdatedSymbols.add(item.key)
}
}
symbolManager.updateSource()
outdatedSymbols.forEach {
symbols.remove(it)
}
}
Не знаю, что делать , Работаю над этим вопросом уже 3 дня и гугл не дает никаких результатов.