Java Android应用程序位置与速度

Java Android应用程序位置与速度,java,android,gps,location,Java,Android,Gps,Location,我正在制作一个Android应用程序,需要使用GPS来记录驾驶员的统计数据,如速度、航向、高度和长/纬度,并具有良好的准确性 我需要每秒钟跟踪一次位置,但我似乎没有得到准确的结果。我在市场上试用了一款Android GPS应用程序,结果正确 到目前为止,我有这个 locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criter

我正在制作一个Android应用程序,需要使用GPS来记录驾驶员的统计数据,如速度、航向、高度和长/纬度,并具有良好的准确性

我需要每秒钟跟踪一次位置,但我似乎没有得到准确的结果。我在市场上试用了一款Android GPS应用程序,结果正确

到目前为止,我有这个

    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    provider =  locationManager.getBestProvider(criteria, false);
    Location location = locationManager.getLastKnownLocation(provider);
    VehicleListener vl = new VehicleListener();
    locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, vl);

    if (location != null) {
        System.out.println("Provider " + provider + " has been selected.");
        lat =location.getLatitude();
        lon = location.getLongitude();
    }

您正在使用一个空标准。如果您希望更精确,请尝试以下方法:

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
provider =  locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
VehicleListener vl = new VehicleListener();
locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, vl);

if (location != null) {
    System.out.println("Provider " + provider + " has been selected.");
    lat =location.getLatitude();
    lon = location.getLongitude();
}

你能详细说明一下为什么结果不准确吗?另外,你们是否在室外测试,以获得完整的GPS可视性?我在楼上的室内测试,但它似乎能让我通过网络提供商读取远离当前位置的道路。使用GPS,它能让我比网络供应商读得更远一点。奇怪的是,我正在运行一个名为GPS跟踪器的应用程序,我发现它能给出精确的位置。