32

我已经从http://developer.android.com/training/location/retrieve-current.html下载了一个演示项目,我想我没有丢失任何步骤;但我找不到哪个 jar 文件包含“com.google.android.gms.location.LocationClient.class”文件

我们发现所有“google-play-services.jar”和“maps.jar”,以及“android.jar(所有版本)”都不包含“LocationClient.class”?

4

11 回答 11

25

添加到 Gradle 文件(xyz - Google Play 服务的实际版本):

compile 'com.google.android.gms:play-services-location:x.y.z'
于 2015-05-22T05:35:22.210 回答
16

最后一个 GPS 库有一些问题。您必须使用比最新版本(6.+)更旧的版本。尝试使用旧版本。我没有在文档中看到任何关于LocationClient.class.

compile 'com.google.android.gms:play-services:5.+'
于 2014-12-10T14:48:04.683 回答
13

LocationClient 已弃用。你必须使用GoogleApiclient,像这样:

1:声明一个 GoogleApiClient 变量

private GoogleApiClient mGoogleApiClient;

2:实例化

mGoogleApiClient = new GoogleApiClient.Builder(mThisActivity)
     .addApi(LocationServices.API)
     .addConnectionCallbacks(this)
     .addOnConnectionFailedListener(this)
     .build();

3:实现回调

public class YourClass extends BaseFragment implements
    GoogleApiClient.ConnectionCallbacks,
    GoogleApiClient.OnConnectionFailedListener, LocationListener {

    @Override
    public void onConnectionFailed(ConnectionResult result) {
        // your code goes here
    }

    @Override
    public void onConnected(Bundle connectionHint) {
        //your code goes here
    }

    @Override
    public void onConnectionSuspended(int cause) {
        //your code goes here       
    }
}

4:开始获取位置更新:

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

5:删除位置更新:

LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);

6:获取最后已知位置:

private Location mCurrentLocation;

mCurrentLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
于 2015-07-10T20:01:38.303 回答
3

由于 Location Client 已被弃用,因此该类不再在包中找到。我们必须改用以下内容

mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(LocationServices.API)
.addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks(){

    @Override
    public void onConnected(Bundle arg0) {
        // TODO Auto-generated method stub
        LocationRequest request = new LocationRequest();
        int priority = LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY;
        if (enableHighAccuracy) {
          priority = LocationRequest.PRIORITY_HIGH_ACCURACY;
        }
        request.setPriority(priority);

        LocationServices.FusedLocationApi.requestLocationUpdates(
                locationClient, request, new LocationListener() {

                  @Override
                  public void onLocationChanged(Location location) {

                    locationClient.disconnect();
                  }

        });
    }

    @Override
    public void onConnectionSuspended(int arg0) {
        // TODO Auto-generated method stub

    }
    })
.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {

    @Override
    public void onConnectionFailed(ConnectionResult arg0) {
        // TODO Auto-generated method stub

    }
})
.build();
于 2015-02-27T11:20:51.573 回答
2

Jeremie Petitjean 的解决方案对我有用。进入youbuild.grade文件并将您的应用程序配置为较低版本。这是我使用的,现在可以使用:

apply plugin: 'com.android.application'   
android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

defaultConfig {
    applicationId "<APPLICATION NAME>"
    minSdkVersion 9
    targetSdkVersion 19
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:19.1.0'
    compile 'com.android.support:appcompat-v7:19.0.1'
    compile 'com.google.android.gms:play-services:4.2+'
}
于 2015-01-07T17:11:50.890 回答
1

检查以下链接

导入 com.google.android.gms 无法解析

如何添加 google-play-services.jar 项目依赖项,以便我的项目将运行并显示地图

请按照以下步骤操作并节省您的时间

  1. 右键单击您的项目资源管理器。
  2. 从现有代码中选择新建-> 项目-> Android 应用程序项目
  3. 仅浏览此路径 - “C:\Users\用户名\Local\Android\sdk\extras\google\google_play_services”
  4. 小心只浏览 - google_play_services而不是google_play_services_lib

这样您就可以导入 google play 服务库。如果您对此有任何疑问,请告诉我。

于 2013-08-17T10:00:58.093 回答
1

您需要更新 Google Play Service SDK,然后使用更新的库。

于 2013-06-12T08:26:39.810 回答
1

如果您使用 Android Studio,请尝试以下操作:

右键单击您的应用程序文件夹 -> 打开模块设置 -> 依赖项 -> 单击加号按钮 -> 选择库依赖项 -> 搜索“play-services” -> 双击 com.google.android.gms:play -服务

按确定并等待 Gradle 重建。如果发生错误,请清理并重建您的项目。这里

于 2016-11-18T16:01:02.460 回答
1

将此添加到您的项目中

implementation 'com.google.android.gms:play-services-location:16.0.0'//location services`
于 2019-06-03T14:57:03.373 回答
1

为了任何直接使用 Phonegap CLI 的人的利益。在您的 plugin.xml 中,您需要该行

<framework src="com.google.android.gms:play-services-location:+" />
于 2016-05-04T13:19:15.840 回答
0

使用 Android SDK 管理器将 Google Play 库更新到最新版本。此外,我必须手动删除该库并按照这些步骤将其再次添加到我的项目中。3.1.36 版包含:

在此处输入图像描述

位置文件夹:

在此处输入图像描述

您可能还必须更新 ADT/SDK。

于 2013-07-11T01:39:10.897 回答