Ошибка компиляции указывает на следующую строку в вашем коде:
val mapFragment = supportFragmentManager
.findFragmentById(R.id.mapFragment) as SupportMapFragment
Здесь вы вводите что-то, что может иметь значение null, т.е. возвращаемое значение findFragmentById
,к чему-то, что вы определили как ненулевой тип, то есть SupportMapFragment
В идеале вы должны прочитать об обработке нуля Kotlin.Он быстро читается и не должен занимать время и прояснит ваше понимание.
И когда вы вернетесь, вы увидите, что существует более одного из способов исправления вашего кода, например:
(activity.supportFragmentManager.findFragmentById(fragmentId) as SupportMapFragment?)?.let {
it.getMapAsync(this)
}
Подсказка. Разница между типом Nullable и Nullable в Kotlin составляет ?
с последующим добавлением к типу.Итак, здесь SupportMapFragment?
указывает, что типом является SupportMapFragment, и он может быть нулевым.