Android Google Map的 setOnMyLocationChangeListener 方法现已弃用。 有谁知道如何绕过它?感谢。
答案 0 :(得分:12)
setOnMyLocationChangeListener
方法现在是 。Deprecated
您可以改为使用com.google.android.gms.location.FusedLocationProviderApi
。
FusedLocationProviderApi是最新的API,也是最好的 在Android中获取位置的可能性。
答案 1 :(得分:2)
请求位置更新(https://developer.android.com/training/location/request-updates)解释了步骤。简而言之,
1)定义变量。
val fusedLocationProviderClient by lazy {
LocationServices.getFusedLocationProviderClient(requireContext())
}
val locationCallback = object : LocationCallback() {
override fun onLocationResult(locationResult: LocationResult?) {
locationResult ?: return
for (location in locationResult.locations){
moveToLocation(location)
}
}
}
val locationRequest = LocationRequest.create().apply {
interval = 10_000
fastestInterval = 5_000
priority = LocationRequest.PRIORITY_HIGH_ACCURACY
}
2)请求位置更新。确保您事先获得了位置许可。
fusedLocationProviderClient.requestLocationUpdates(
locationRequest,
locationCallback,
Looper.getMainLooper()
)
3)完成后,删除更新。
fusedLocationProviderClient.removeLocationUpdates(locationCallback)
答案 2 :(得分:1)