【发布时间】:2016-05-27 14:22:35
【问题描述】:
我尝试过getLastKnownLocation(),但我发现它有时无法提供准确的位置,并且它正在获取错误的位置,否则很好。
谁能帮帮我? 我是android studio的初学者
这是我下面的 GPS 跟踪器代码....
if (isGPSEnabled)
{
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("GPS Enabled", "GPS Enabled");
if (locationManager != null)
{
location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
updateGPSCoordinates();
}
}
} else if (isNetworkEnabled) {
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("Network", "Network");
if (locationManager != null)
{
location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
updateGPSCoordinates();
}
}
// ...
@Override
public void onLocationChanged(Location location)
{
this.location = location;
updateGPSCoordinates();
}
【问题讨论】:
-
“位置错误”是什么意思? GPS 不是 100% 准确,并且有一些错误。 GPS是室内还是室外也很重要。
-
这几周我做了很多测试,我注意到准确性在很大程度上取决于手机的品牌。有些人比其他人更好地构建了 GPS 芯片......此外,Lollipop OS 存在一些问题,如下所述:code.google.com/p/android/issues/detail?id=81140
-
位置错误意味着有时它显示的是以前获取的位置而不是更新的位置。你有任何想法来获取更新的位置(不是 LastKnownLocation)。
-
@TDG 位置错误意味着它显示不同的州地址,我正在使用一些应用程序,它们至少对城市是准确的。
标签: java android gps latitude-longitude