我正在尝试在我的 android 项目中实现用户位置。我已经尝试了很多在互联网上找到的代码,但没有任何效果。Location Manager 和 Location 客户端都没有尝试过新的 GoogleApiClient。但我不知道我的错误在哪里。我们是否需要任何 Api 的密钥来获取用户位置?我把我的代码保存在下面:Location_Finder2.java
package com.notification.messaging;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks;
import com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener;
import com.google.android.gms.location.LocationClient;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationRequest;
import android.app.Activity;
import android.location.Location;
import android.os.Bundle;
import android.util.Log;
public class Location_Finder2 extends Activity implements ConnectionCallbacks, OnConnectionFailedListener, LocationListener{
LocationRequest locationRequest;
LocationClient locationClient;
Location location;
Double longitude = 0.0d;
Double latitude = 0.0d;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
locationClient = new LocationClient(this, this, this);
locationRequest = new LocationRequest();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setInterval(5000);
locationRequest.setFastestInterval(1000);
}
@Override
public void onLocationChanged(Location arg0) {
locationClient.removeLocationUpdates(this);
longitude = location.getLongitude();
latitude = location.getLatitude();
Log.i("New Latitude && Longitude:", "Longitude:" + longitude + ", Latitude:" + latitude);
}
@Override
public void onConnectionFailed(ConnectionResult arg0) {
// TODO Auto-generated method stub
}
@Override
public void onConnected(Bundle arg0) {
Log.i("Location_2","dhsjchdjcjdjcjkdjcjdn");
location = locationClient.getLastLocation();
if (location == null){
locationClient.requestLocationUpdates(locationRequest, this);
}
else {
latitude = location.getLatitude();
longitude = location.getLongitude();
Log.i("Latitude && Longitude:", "Longitude:" + longitude + ", Latitude:" + latitude);
}
}
@Override
public void onDisconnected() {
// TODO Auto-generated method stub
}
}
我等待很长时间没有得到任何位置更新,但我不知道我的错误是什么。