我有一个方法,它返回Observable,如下所示:
fun currentLocation(): Observable<LatLngFix> {
if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context) != ConnectionResult.SUCCESS ||
!context.isLocationPermissionGranted()) {
return getDefaultLocation()
}
// lastKnownLocation returns location or complete without result
// in the latter case, return default unknown location
return Observable
.concat(locationProvider.lastKnownLocation.map {
val latLng = LatLngFix(it.latitude, it.longitude)
return@map latLng
}, getDefaultLocation())
.onErrorResumeNext { getDefaultLocation() }
.first()
}
然后当我调用这个函数时,我想得到latlng变量。所以我需要明确订阅Observable,但不知道原因,以下是错误:
localisationService.currentLocation().subscribe(latLng -> {
})
说没有定义latLng。检索价值的正确方法是什么?
答案 0 :(得分:0)
应该是
localisationService.currentLocation().subscribe { latLng ->
}
(注意大括号内的latLng参数)
或
localisationService.currentLocation().subscribe ({ latLng ->
},
{ error ->
})
如果您还想实施onError
。