Вернуть значение из метода

У меня есть этот метод для получения местоположения пользователя, и я хочу вернуть переменную myLocation:

mFusedLocationClient.getLastLocation().addOnSuccessListener(new OnSuccessListener<Location>() {
        @Override
        public void onSuccess(Location location) {
            // Got last known location. In some rare situations this can be null.
            if (location != null) {
                double latitude = location.getLatitude();
                double longitude = location.getLongitude();

                LatLng mylocation = new LatLng(latitude, longitude);
            }
        }
    });

У меня есть этот метод внутри функции, которая возвращает значение LatLng, но я не могу получить значение изнутри метода.

Введите здесь свой полный метод. и я имею в виду, что местоположение - это услуга, и вы должны обрабатывать свой код, в зависимости от событий обратного вызова

AbuQauod 19.03.2018 11:14

@AbuQauod полный метод уже есть

Casimiro 19.03.2018 11:19

Используйте для этого широковещательный приемник или шину.

Saurabh Vadhva 19.03.2018 12:45

@SaurabhVadhvaЯ не могу его использовать, потому что мне нужно местоположение, тогда я вызываю функцию

Casimiro 19.03.2018 12:51
4
4
87
1

Ответы 1

Объявите класс Fused Location Client

private Location currentLocation; 

public Location getCurrentLocation() {
    return currentLocation;
}

mFusedLocationClient.getLastLocation().addOnSuccessListener(new OnSuccessListener<Location>() {
        @Override
        public void onSuccess(Location location) {
            // Got last known location. In some rare situations this can be null.
            if (location != null) {
                 this.currentLocation= location;
            }
        }
    });

после getCurrentLocation (), которые обрабатывают ваше текущее местоположение LatLng

        if (getCurrentLocation()  != null) {
            double latitude = getCurrentLocation() .getLatitude();
            double longitude = getCurrentLocation() .getLongitude();

            LatLng mylocation = new LatLng(latitude, longitude);
        }

ты не можешь быть более конкретным?

Casimiro 19.03.2018 11:23

Другие вопросы по теме