无法解析符号: FusedLocationProviderClient

无法解析符号: FusedLocationProviderClient。

Google 播放服务版本使用了11.0.1。

代码: while 声明

private FusedLocationProviderClient mfusedLocationProviderclient;
73454 次浏览

在您的 build.gradle(模块: 应用程序)中,您需要添加以下依赖项:

dependencies {
//...
compile 'com.google.android.gms:play-services:11.0.0'
}

然后重新构建你的应用程序,这样它就可以下载所需的依赖项。

这个开发者 导游解决了我的问题

你只需要在你的 建造,分级文件中包含以下内容:

implementation "com.google.android.gms:play-services-location:15.0.1"

或者如果你没有使用最新的等级版本:

compile "com.google.android.gms:play-services-location:15.0.1"

注意: 建议使用 GooglePlay 服务版本 15.0.1或更高版本,其中包括此类的 bug 修复。更多详情请浏览此网页。

Https://developers.google.com/android/reference/com/google/android/gms/location/fusedlocationproviderclient

你只需要在 build.gradle 文件中包含以下内容:

compile 'com.google.android.gms:play-services-location:11.0.2'

版本的服务的位置和地图应该是相同的。

compile 'com.google.android.gms:play-services-maps:11.0.2'

我知道现在很晚了,但我很乐意回答这个问题。

使用此依赖项

编译“ com.google.android.gms: play-services-location: 11.0.4”

并参考此链接 -https://guides.codepath.com/android/Retrieving-Location-with-LocationServices-API

对我来说,我应该包括

com.google.android.gms:play-services-location:11.4.0

不仅仅是 play-services-maps:11.4.0.

修改包括实现在内的 build.gradle(Mudule:app)之后,将以下代码行导入到代码中:

"com.google.android.gms:play-services-location:11.0.1"


import com.google.android.gms.location.FusedLocationProviderClient;
import com.google.android.gms.location.LocationServices;

更新您的谷歌播放服务到11.8.0 应该添加到生成文件中的代码如下所示

compile 'com.google.android.gms:play-services-gcm:11.8.0'

manifest.xml文件中添加 COARSE_PERMISSION

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 然后它自动检测 Class并导入它。

你只需要在 build.gradle 文件中包含以下内容:

编译“ com.google.android.gms: play-services-location: 12.0.1”

检索代码位置:

FusedLocationProviderClient mFusedLocationClient =  LocationServices.getFusedLocationProviderClient(this);


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


}
})
.addOnFailureListener(this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {


}
});

正如所有人回复的那样,你需要在 build.gradle 文件中输入以下内容:

implement 'com.google.android.gms:play-services-location:11.0.1'

(取决于你的等级版本,用 implement代替 compile) 显然,这个版本只需要在11.0.1以上。

然而,当我这样做的时候,我有一个新的错误。因为我已经在之前的版本(10.0.1)中实现了 Play Service 库(分析、认证、地图、位置) ,所以我不得不把它们全部改为新版本——你不能在不同的版本中只有一个库,需要它们全部匹配。 因此,我找到了这些库的实现行,并将它们更改为:

implementation group: 'com.google.android.gms', name: 'play-services-analytics', version: '11.0.1'
implementation group: 'com.google.android.gms', name: 'play-services-auth', version: '11.0.1'
implementation group: 'com.google.android.gms', name: 'play-services-maps', version: '11.0.1'
implementation group: 'com.google.android.gms', name: 'play-services-location', version: '11.0.1'

由于我也在实现 firebase (甚至不知道这是为了什么,为什么它与 Play 服务相关) ,我不得不做类似的事情:

implementation group: 'com.google.firebase', name: 'firebase-core', version: '11.0.1'
implementation group: 'com.google.firebase', name: 'firebase-crash', version: '11.0.1'

将你的项目与 gradle 文件同步,你的 FusedLocationProviderClient应该是可见的/可用的,从导入开始:

import com.google.android.gms.location.FusedLocationProviderClient;

在 build.gradle (Module: app)中添加:

dependencies {
...
implementation 'com.google.android.gms:play-services-location:17.0.0'
...
}

不要忘记同步 build.gradle(在 build.gradle的右上角,你会看到一个同步更改的通知,点击它)。