我想在位置可用时返回当前用户位置。
这是我的代码:
fusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
locationCallback = object : LocationCallback() {
override fun onLocationResult(locationResult: LocationResult) {
super.onLocationResult(locationResult)
if (locationResult.lastLocation != null && locationResult.lastLocation.latitude > 0 && locationResult.lastLocation.longitude > 0) {
lastLocation = locationResult.lastLocation
currentUserLatLng = LatLng(lastLocation.latitude, lastLocation.longitude)
fusedLocationClient.removeLocationUpdates(locationCallback)
}
}
}
问题是,它从未被调用过,我拥有许可并允许我的应用使用gps,我为此设置了调试器,但它永远不会出现
您能帮我吗?此代码有什么问题?
为什么要用代码编写locationResult.lastLocation.latitude > 0
和locationResult.lastLocation.longitude > 0
?他们可以是负数
您是否在某个地方打电话给requestLocationUpdates?
fusedLocationClient.requestLocationUpdates(mLocationRequest, mLocationCallback, Looper.getMainLooper());