Reputation: 331
I have download a demo project from http://developer.android.com/training/location/retrieve-current.html, and I think I don't lost any steps; But I can't find which jar file contain the “com.google.android.gms.location.LocationClient.class” file
We found all "google-play-services.jar" and "maps.jar", and "android.jar (All versions)" don't contain the "LocationClient.class"?
Upvotes: 33
Views: 60471
Reputation: 8264
add this to your project `
implementation 'com.google.android.gms:play-services-location:16.0.0'//location services`
Upvotes: 2
Reputation: 6615
Try this if you use Android Studio:
Right click on your app folder -> Open Module Settings -> Dependencies -> Click on the plus button -> Choose library dependency -> Search for "play-services" -> Double click on the com.google.android.gms:play-services
Press Ok and wait for Gradle to rebuild. If error occurs clean and rebuild your project. here
Upvotes: 1
Reputation: 1693
Add to Gradle file (x.y.z - actual version of Google Play Services):
compile 'com.google.android.gms:play-services-location:x.y.z'
Upvotes: 25
Reputation: 10887
check below links
The import com.google.android.gms cannot be resolved
How to add google-play-services.jar project dependency so my project will run and present map
Follow these steps and save your time
And this way you are able to import the google play service lib. Let me know if you have any queries regarding the same.
Upvotes: 1
Reputation: 8910
For the benefit of anyone working directly with Phonegap CLI. In your plugin.xml you require the line
<framework src="com.google.android.gms:play-services-location:+" />
Upvotes: 1
Reputation: 225
LocationClient is deprecated. You have to use GoogleApiclient
, like this:
1: Declare a GoogleApiClient variable
private GoogleApiClient mGoogleApiClient;
2: Instantiate
mGoogleApiClient = new GoogleApiClient.Builder(mThisActivity)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
3: Implement Callback
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: Start to get Location Updates:
LocationServices.FusedLocationApi.requestLocationUpdates(
mGoogleApiClient, mLocationRequest, this);
5: Remove Location Updates:
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
6: Get Last Known Location:
private Location mCurrentLocation;
mCurrentLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
Upvotes: 13
Reputation: 153
As Location Client is deprecated the class is no more found in the package. We have to use the following instead
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();
Upvotes: 3
Reputation: 59
Jeremie Petitjean's solution worked for me. Go into youbuild.grade
file and configure your app for a lower version. This is what I used and it works now:
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+'
}
Upvotes: 2
Reputation: 627
There is some problem with the last GPS lib. You have to use an older version than the latest(6.+). Try with an older version. I didn't see anything inside the doc deprecated or missing about the LocationClient.class
.
compile 'com.google.android.gms:play-services:5.+'
Upvotes: 16
Reputation: 1818
Update the Google Play library to the latest version using the Android SDK Manager. In addition, I had to remove the library manually and add it again to my project following these steps. Version 3.1.36 contains:
The location folder:
You might have to update the ADT/SDK as well.
Upvotes: 0
Reputation: 1943
You need to update Google Play Service SDK and then use updated library.
Upvotes: 1