我想创建一个按钮,告诉我设备的确切位置,将其指向MapView并给我设备的坐标,我不知道如何对{{1}进行操作}。我尝试使用LocationListener,但它给了我一个错误
现在这是我拥有的代码:
Button
如果有人举了一个例子,或者有迹象表明我可以开始编写代码,那么我将非常有帮助。
答案 0 :(得分:0)
您可以将FusedLocationProviderClient与位置更新请求一起使用。此处更多信息:https://developer.android.com/training/location/receive-location-updates
FusedLocationProviderClient locationProviderClient =
LocationServices.getFusedLocationProviderClient(this);
LocationRequest mLocationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(TimeUnit.SECONDS.toMillis(10)) // 10 seconds
.setFastestInterval(TimeUnit.SECONDS.toMillis(1)); // 1 second
LocationCallback locationCallback = new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
for (Location location : locationResult.getLocations()) {
if (location != null) {
// your code here
}
}
}
};
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
locationProviderClient.requestLocationUpdates(mLocationRequest,
locationCallback, null);
}
此外,如果您想摆脱一些请求权限样板代码,建议您尝试使用RxPermissions库https://github.com/tbruyelle/RxPermissions