我正在开发一个跟踪用户GPS位置的应用程序,并在地图中用标记显示它。更新是每2秒。
问题是我得到的位置不如WAZE,地图等其他应用程序那么准确。用户总是驾驶,所以在路上,但标记有时左右几米左右。
使用其他应用程序时,这种情况并没有发生,就像他们知道你在一条道路上并且忽略了一点GPS错误而把它锁定在它的位置。
我需要一个本地解决方案,不需要任何路线或路线API请求。
提前致谢。
答案 0 :(得分:0)
要获得最准确的位置,请使用GPS_PROVIDER
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 0, getApplicationContext());
在onLocationChanged()中,检查收到的位置的准确性,如果它足够准确,那么执行你的任务,否则忽略它。
@Override
public void onLocationChanged(Location arg0) {
// TODO Auto-generated method stub
float accuracy=arg0.getAccuracy();
if(accuracy<10){//set your desired accuracy , lesser the value the more accurate it is
//do your tasks
}
else{
Toast.makeText(getApplicationContext(), "Location not accurate enough ("+accuracy+")" , Toast.LENGTH_SHORT).show();
}
}
}