У меня есть этот метод для получения местоположения пользователя, и я хочу вернуть переменную 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 полный метод уже есть
Используйте для этого широковещательный приемник или шину.
@SaurabhVadhvaЯ не могу его использовать, потому что мне нужно местоположение, тогда я вызываю функцию
Объявите класс 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);
}
ты не можешь быть более конкретным?
Введите здесь свой полный метод. и я имею в виду, что местоположение - это услуга, и вы должны обрабатывать свой код, в зависимости от событий обратного вызова