Я сам создал класс Location с двумя Double val (долгота и широта)
Теперь в пустом конструкторе я хотел бы использовать FusedLocationProviderClient, чтобы получить текущее местоположение устройства, которое затем сохраняю в два val для представления текущего местоположения. Я делаю один с LocationServices, затем onSucces помещаю переменные внутрь класса. Проблема в том, что я получаю следующую ошибку:
Инициализация захваченных значений элементов запрещена из-за возможного переназначения
Конструктор выглядит следующим образом:
constructor(context: Context) {
val client = LocationServices.getFusedLocationProviderClient(context)
client.lastLocation.addOnSuccessListener { location: Location? ->
if (location != null) {
this.latitude = location.latitude
this.longitude = location.longitude
}
else {
this.latitude = 0.0
this.longitude = 0.0
}
}
}
Я немного потерялся здесь. Как мне обойти эту проблему, чтобы у меня были координаты пользователя в переменных?
Есть ли какой-то способ, например, когда я сначала принудительно устанавливаю последнее местоположение на fini sh перед сохранением переменных, значит, компилятор уверен, что у него есть значение, которое тоже не будет переназначено?