【发布时间】:2015-10-26 04:34:00
【问题描述】:
我使用 Google MAPS API 来获取当前用户的位置(GPS 坐标)。但是我有一个奇怪的问题:
在我的联想 Android 4.2 中定位相当准确。
但在另一台设备 (LG G3s) 中,位置偏离了 400-500 多米。
对于不同的设备,情况相同。一个 - 没关系,另一个错误。
这是我的代码:
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
mGoogleApiClient.connect();
@Override
public void onConnected(Bundle bundle) {
mLocationRequest = LocationRequest.create();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(UPDATE_INTERVAL);
LocationServices.FusedLocationApi.requestLocationUpdates(
mGoogleApiClient, mLocationRequest, this);
}
@Override
public void onConnectionSuspended(int i) {
Toast.makeText(getApplicationContext(), "GoogleApiClient connection has been suspend", Toast.LENGTH_SHORT).show();
}
@Override
public void onLocationChanged(Location location) {
Toast.makeText(getApplicationContext(), "LOCATION CHANGED\n"+
"LAT="+location.getLatitude()+"\n"+
"LON="+location.getLongitude(), Toast.LENGTH_SHORT).show();
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
Toast.makeText(getApplicationContext(), "GoogleApiClient connection has failed", Toast.LENGTH_SHORT).show();
}
也许,我做错了什么?
如何获得更准确的坐标?
统一更新: 我在外面测试了 GPS,坐标相当准确。 但在家里/办公室 - 坐标错误。用户位于办公室,但应用显示他在河中的位置,距离办公室约 500-600m)
我认为我的应用程序有问题,因为用户说他在他的设备上运行了谷歌地图并且位置没有错..
【问题讨论】:
-
您在测试 GPS 坐标时是在室内还是室外? GPS 信号的质量对您所在的位置以及 GPS 接收器的质量非常重要。并非所有人都是平等的。
-
外坐标相当不错。请查看我的 UPD。