【发布时间】:2016-04-06 07:18:54
【问题描述】:
Android Google Map 的 setOnMyLocationChangeListener 方法现已弃用。 有谁知道如何绕过它?谢谢。
【问题讨论】:
-
我喜欢懦夫投反对票而没有评论为什么
标签: java android google-maps android-maps-v2
Android Google Map 的 setOnMyLocationChangeListener 方法现已弃用。 有谁知道如何绕过它?谢谢。
【问题讨论】:
标签: java android google-maps android-maps-v2
setOnMyLocationChangeListener 方法现在是 。Deprecated
您可以改用com.google.android.gms.location.FusedLocationProviderApi。
FusedLocationProviderApi 是最新的 API,也是最好的 在 Android 中获取位置的可用可能性。
【讨论】:
【讨论】:
请求位置更新 (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)
【讨论】: