创建可为您提供位置信息的创建按钮(Android Studio)

时间:2018-09-11 08:25:52

标签: android google-maps android-studio location

我想创建一个按钮,告诉我设备的确切位置,将其指向MapView并给我设备的坐标,我不知道如何对{{1}进行操作}。我尝试使用LocationListener,但它给了我一个错误

现在这是我拥有的代码:

Button

如果有人举了一个例子,或者有迹象表明我可以开始编写代码,那么我将非常有帮助。

1 个答案:

答案 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