Android 谷歌定位不起作用
早上好,我想问一下是否有人遇到过和我一样的问题。 我正在制作一个谷歌地图的应用程序,有一天突然不再收集我的位置,我用早期版本进行了测试,效果很好,如果我改变了什么,他们没有给我位置,我也在其他设备上进行了测试,但什么都没有,它每天都停止工作。我想知道这是否是由于谷歌账户开发者控制台的原因,或者api密钥是否会过期或者其他原因 多谢各位 编辑:Android 谷歌定位不起作用,android,api,location,Android,Api,Location,早上好,我想问一下是否有人遇到过和我一样的问题。 我正在制作一个谷歌地图的应用程序,有一天突然不再收集我的位置,我用早期版本进行了测试,效果很好,如果我改变了什么,他们没有给我位置,我也在其他设备上进行了测试,但什么都没有,它每天都停止工作。我想知道这是否是由于谷歌账户开发者控制台的原因,或者api密钥是否会过期或者其他原因 多谢各位 编辑: 我认为密钥不会过期,尝试发布您的代码您可能遗漏了一些内容尝试使用location=locationManager.getLastKnownLocation
我认为密钥不会过期,尝试发布您的代码您可能遗漏了一些内容尝试使用
location=locationManager.getLastKnownLocation(bestProvider)在getLocalizacion()
中的code>。我希望这对你有帮助。我做了一个locationManager.getProviders(false),它只返回了2个,1个被动式和另一个gps,在我的应用程序中,我需要通过网络或wifi找到位置,我认为手机可能坏了,但我尝试了另一部手机,结果是一样的
public class BuscarActivity extends ListActivity {
private GoogleMap mMapa;
private LocationManager locationManager;
private Location location;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.buscar_activity);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
mMapa = ((MapFragment) getFragmentManager().findFragmentById(R.id.mapaBuscar))
.getMap();
mMapa.setMyLocationEnabled(true);
locationManager = new LocationManager(this);
getLocalizacion();
mMapa.setOnCameraChangeListener(new OnCameraChangeListener() {
//con el objeto position puedo recuperar todos los datos necesarios
public void onCameraChange(CameraPosition position) {
getLocation();
}
});
}
private void getLocalizacion() {
//I'm used this firstly
//location = mMapa.getMyLocation();
//but now I'm using this although anyone works now
location = locationManager.getLocation();
}
public class LocationManager implements ConnectionCallbacks, OnConnectionFailedListener {
protected GoogleApiClient mGoogleApiClient;
public static Location mLastLocation;
private Context context;
public LocationManager(Context c) {
this.context = c;
buildGoogleApiClient();
onStart();
}
protected synchronized void buildGoogleApiClient() {
mGoogleApiClient = new GoogleApiClient.Builder(context)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API).build();
}
@Override
public void onConnected(Bundle connectionHint) {
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
}
public Location getLocation(){
return mLastLocation;
}
@Override
public void onConnectionFailed(ConnectionResult result) {
Log.i("conection fail", "Connection failed: ConnectionResult.getErrorCode() = "
+ result.getErrorCode());
}
public void onDisconnected() {
Log.i("disconnected", "Disconnected");
}
@Override
public void onConnectionSuspended(int cause) {
Log.i("connection fail", "Connection suspended");
mGoogleApiClient.connect();
}
public void onStart() {
mGoogleApiClient.connect();
}
public void onStop() {
if (mGoogleApiClient.isConnected()) {
mGoogleApiClient.disconnect();
}
}
}