FusedLocationApi.requestLocationUpdates给出了不兼容的类型错误

时间:2016-04-06 08:44:24

标签: android gps google-play-services location-services android-fusedlocation

我正在使用Google Play服务获取当前位置。当我使用requestLocationUpdates方法时,它会给出红线说;     不兼容的类型。必需:android.location.Location。找到:com.google.android.gms.common.api.PendingResult

mLastLocation = LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);

this指的是LocationListener。我已经实施 com.google.android.gms.location.LocationListener 并覆盖onLocationChanged方法,但仍然存在红线。为了能够确定我也试过这个版本;

mLastLocation = LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, new LocationListener() {
                @Override
                public void onLocationChanged(Location location) {

                }
            });

这也会导致相同的错误。方法参数是GoogleApiClient,LocationRequest,LocationListener。 我不明白错误在哪里。任何的想法 ? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

您无需分配mLastLocation。 LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this); 由于您的类实现了LocationListener,因此您应该在onLocationChanged(Location location)上收到您的位置更改。 你看到了正式的样品和解释吗?如果没有,这将是有用的:http://developer.android.com/intl/pt-br/training/location/receive-location-updates.html

详细了解:http://developer.android.com/intl/pt-br/reference/android/location/LocationListener.html#onLocationChanged(android.location.Location)