我正在使用NETWORK_PROVIDER & FusedLocation(No )在跟踪应用程序上进行应用,它不断地获得位置,但当我从一个位置导航到另一个位置时,给了我一段时间以前的位置,因为您可以在图像中检入下面的图像,我将向下移动到顶部,位置1,2,3,4,5,6是完美的,但7的位置是之前的,8,9是完美的位置,而10又是以前的,不确定的是11,12,13是以前的,但是14是以前的和不确定的。

我使用了下面的代码来获取位置&我有更改的准确性,而且精度也很高,要到4到5小时才给我定位,在4-5小时内,它是给定的
public void start(){
    int resp =GooglePlayServicesUtil.isGooglePlayServicesAvailable(mContext);
    if(resp == ConnectionResult.SUCCESS){
        locationClient = new LocationClient(mContext, this, this);
        locationClient.connect();
    }
    else{
        Toast.makeText(mContext, "Google Play Service Not Available " + resp, Toast.LENGTH_LONG).show();
    } 
    intent = new Intent(StaticData.BROADCAST_ACTION);
    filter = new IntentFilter(StaticData.BROADCAST_ACTION);
    receiver = new ResponseReceiver();
    mContext.registerReceiver(receiver, filter);
}
@SuppressWarnings({
        "static-access", "unused"
})
@Override
public void onConnected(Bundle bundle) {
    try {
        locationRequest = LocationRequest.create();
        locationRequest = new LocationRequest();
        locationRequest.setSmallestDisplacement(1);
        locationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
        locationRequest.setInterval(1000*60);
        locationRequest.setFastestInterval(1000*60);
        locationManager = (LocationManager)mContext.getSystemService(mContext.LOCATION_SERVICE);
    } catch (Exception e1) {
    }
    try{
        Criteria crit = new Criteria();
        crit.setAccuracy(Criteria.ACCURACY_MEDIUM);
        crit.setPowerRequirement(Criteria.POWER_MEDIUM);
        crit.setAltitudeRequired(false);
        crit.setBearingRequired(false);
        crit.setCostAllowed(true);
        String provider = locationManager.getBestProvider(crit, true);
        locationClient.setMockMode(true);
    }catch (RuntimeException e) {
        AppLog.errorLog(TAG, e);
    }catch (Exception e) {
        AppLog.errorLog(TAG, e);
    }
    try {
        locationClient. requestLocationUpdates(locationRequest, this);
        locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, (1000*60), 10f, this);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        AppLog.errorLog(TAG, e);
    }
}现在的问题是,如何克服这种局面?
发布于 2014-08-29 06:21:50
据我所知,依靠网络进行地理定位确实是不确定的。我建议你用GPS精确定位地理位置。
https://stackoverflow.com/questions/25562660
复制相似问题