Я получаю свои данные GPS через:
fusedLocationClient.lastLocation
.addOnSuccessListener { location: Location? ->
location2 = location
var latitude = location?.latitude
var longitude = location?.longitude
println(latitude)
println(longitude)
println("gps?")
StopsFromWebservice().execute()
}
, который работает.Но я хочу использовать местоположение другим способом.Поэтому я попытался определить
var location2 : Location? = null
и вызвать его через
fun FindClosestStops(location: Location?){
for (i in 0..haltestellen_lat.size-1){
var x=0.0
var y=0.0
var distance = 0.0
x= (haltestellen_lat[i]-location?.latitude!!)*(haltestellen_lat[i]-location?.latitude!!)
y= (haltestellen_lon[i]-location?.longitude!!)*(haltestellen_lon[i]-location?.longitude!!)
distance = sqrt(x+y)
StopDistances[i]= distance
Haltestellen.add(distance.toString())
println("distance = " + distance)
println("FindClosestStops")
}
SortDistance()
time.post(UpdateView);
}
, но затем android Studio убивает мою задачу с этой ошибкой:
Caused by: kotlin.KotlinNullPointerException
at com.xxx.yyy.zzz.FindClosestStops(fahrplanmap.kt:100)
, что именно таккод:
x= (haltestellen_lat[i]-location?.latitude!!)*(haltestellen_lat[i]-location?.latitude!!)
как я могу записать свои данные о местоположении в х и у?