我正在开发一个需要不断更新我的 android 手机位置的项目。它工作正常,但是非常不准确。在室内,我获取的位置精度(通过 getAccuracy())大约为 60(据我所知以米为单位),而我希望精度为(最大)2-3 米。首先,不可能不断地获得(2-3米)的精度吗?如果是,如何?
Follow 是我用来获取用户位置的代码片段。
public boolean getLocation(Context context, LocationResult result)
{
//I use LocationResult callback class to pass location value from MyLocation to user code.
locationResult = result;
if(lm==null)
lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
//exceptions will be thrown if provider is not permitted.
try{gps_enabled=lm.isProviderEnabled(LocationManager.GPS_PROVIDER);}catch(Exception ex){}
try{network_enabled=lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER);}catch(Exception ex){}
//don't start listeners if no provider is enabled
if(!gps_enabled && !network_enabled)
return false;
if(gps_enabled)
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListenerGps);
if(network_enabled)
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListenerNetwork);
timer1=new Timer();
timer1.schedule(new GetLastLocation(), 10000);
return true;
}
我还遇到了另一个问题,我的设备一直放置在静态位置,获取的两个连续 GPS 位置之间的距离非常不可靠,它从 0.0 米变为 16 米,这意味着我的设备一直在移动。
如果你们中的任何人对此有任何想法,最好如何达到准确性,请帮助我。
谢谢