无法解析符号:FusedLocationProviderClient。
Google Play服务版使用了11.0.1。
代码:声明时
private FusedLocationProviderClient mfusedLocationProviderclient;
答案 0 :(得分:86)
您只需将其包含在 build.gradle 文件中:
implementation "com.google.android.gms:play-services-location:15.0.1"
或者如果你没有使用最新的gradle版本:
compile "com.google.android.gms:play-services-location:15.0.1"
注意:建议使用Google Play服务版本15.0.1
或更高版本,其中包括此类的错误修复程序。更多细节在这里。
答案 1 :(得分:7)
在build.gradle
(模块:应用)中,您需要添加以下依赖项:
dependencies {
//...
compile 'com.google.android.gms:play-services:11.0.0'
}
并重建您的应用,以便下载所需的依赖项。班级FusedLocationProviderClient
包含在此套餐中。
答案 2 :(得分:5)
此开发者Guide解决了我的问题
答案 3 :(得分:3)
您只需要在build.gradle文件中包含它:
compile' 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) {
}
});
答案 4 :(得分:2)
就我而言,我应该包括
com.google.android.gms:play-services-location:11.4.0
不只是play-services-maps:11.4.0.
答案 5 :(得分:1)
我知道现在已经很晚了,但很高兴回答这个问题。
使用此依赖项
编译'com.google.android.gms:play-services-location:11.0.4'
并参考此链接 - https://guides.codepath.com/android/Retrieving-Location-with-LocationServices-API
答案 6 :(得分:1)
在更改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;
答案 7 :(得分:1)
在build.gradle(模块:应用程序)中添加:
dependencies {
...
implementation 'com.google.android.gms:play-services-location:17.0.0'
...
}
别忘了同步build.gradle
(在build.gradle
的右上角,您将收到一条通知以同步更改,单击它。)
答案 8 :(得分:0)
您只需要在build.gradle文件中包含它:
compile 'com.google.android.gms:play-services-maps:11.0.2'
位置和地图服务的版本应该相同。
Thread.Sleep()
答案 9 :(得分:0)
将您的Google Play服务更新为11.8.0 应添加到bulild文件的代码如下
compile 'com.google.android.gms:play-services-gcm:11.8.0'
答案 10 :(得分:0)
在manifest.xml
文件中添加<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
。
Class
然后它会自动检测{{1}}并导入它。
答案 11 :(得分:0)
每个人都回答,您需要在build.gradle文件中添加以下行:
implement 'com.google.android.gms:play-services-location:11.0.1'
(根据您的Gradle版本用implement
替换compile
)
显然,该版本只需高于11.0.1。
但是,当我这样做时,我遇到了一个新错误。由于我已经在以前的版本(10.0.1)中实现了Play服务库(分析,身份验证,地图,位置),因此我不得不将它们全部更改为新版本-您只能在其他版本中拥有一个库,需要使它们全部匹配。 因此,我找到了这些库的实现行并将其更改为:
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 Services相关),所以我不得不做类似的事情:
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;