32

http://developer.android.com/training/location/retrieve-current.htmlからデモ プロジェクトをダウンロードしましたが、手順を失っていないと思います。しかし、「com.google.android.gms.location.LocationClient.class」ファイルを含むjarファイルが見つかりません

すべての「google-play-services.jar」と「maps.jar」、および「android.jar (すべてのバージョン)」に「LocationClient.class」が含まれていませんか?

4

11 に答える 11

25

Gradle ファイルに追加します (xyz - Google Play Services の実際のバージョン):

compile 'com.google.android.gms:play-services-location:x.y.z'
于 2015-05-22T05:35:22.210 に答える
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

Google Play Service SDK を更新してから、更新されたライブラリを使用する必要があります。

于 2013-06-12T08:26:39.810 に答える
1

Android Studio を使用している場合は、これを試してください。

アプリフォルダーを右クリック->モジュール設定を開く->依存関係->プラスボタンをクリック->ライブラリ依存関係を選択->「play-services」を検索->com.google.android.gms:playをダブルクリック-サービス

[OK] を押して、Gradle が再構築されるのを待ちます。エラーが発生した場合は、プロジェクトをきれいにして再構築してください。ここ

于 2016-11-18T16:01:02.460 に答える
1

Phonegap CLI を直接操作するすべての人のために。plugin.xml で次の行が必要です

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

Android SDK Manager を使用して、Google Play ライブラリを最新バージョンに更新します。さらに、ライブラリを手動で削除し、次の手順に従ってプロジェクトに再度追加する必要がありました。バージョン 3.1.36 には以下が含まれます。

ここに画像の説明を入力

場所フォルダー:

ここに画像の説明を入力

ADT/SDK も更新する必要がある場合があります。

于 2013-07-11T01:39:10.897 に答える