2012-11-08 61 views
0

我是一個java和android新手。我設法遵循一些教程來讓我的GPS在Android 2.3手機上工作,但我注意到手機的GPS在40米以內只有精確度,這與經度/緯度上小數點第三位的精度相對應。距離senstivitiy onLocationChanged()

我的調試日誌顯示這種變化(而IM坐在我的筆記本電腦,打字)

LOCATION CHANGED(2137): 43.522701025009155 
LOCATION CHANGED(2137): -72.13161981105804 
LOCATION CHANGED(2137): 43.522695660591125 
LOCATION CHANGED(2137): -72.13161981105804 

這是我的代碼

public void onLocationChanged(Location location) { 
     if (location != null) { 
     Log.d("LOCATION CHANGED", location.getLatitude() + ""); 
     Log.d("LOCATION CHANGED", location.getLongitude() + ""); 
     Toast.makeText(MainActivity.this, 
      location.getLatitude() + "" + location.getLongitude(), 
      Toast.LENGTH_LONG).show(); 
     } 
     else{ 
      // Log.v(TAG,"LOCATION not found"); 

     } 
     // Log.d("LOCATION is", location.getLatitude() + ""); 

    } 

是否有可能改變onLocationChanged()函數的東西如 public void onLocationChanged(Location location,minimumdistance_changed)

其中minimumdistance_changed是當前精度GPS的準確性。只要將gps值更改爲小數點後第三位時,我只能從onLocationChanged獲得讀數,我也很樂意將minimumdistance_changed設置爲100米。

回答

1

請求後從位置管理位置更新,你可以指定一個最小距離更新之間:

lm.requestLocationUpdates(provider, timeBetweenUpdates, distBetweenUpdates, listener); 

不過是隻是一個提示,不需要系統按照你的提示。