2011-09-28 56 views
0

經緯度值,我用下面的代碼來找到我的Android應用程序的經度和緯度問題在獲得使用GPS在不同的位置

public double[] getlocation() { 
    LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    List<String> providers = lm.getProviders(true); 

    Location l = null; 
    for (int i = 0; i < providers.size(); i++) { 
     l = lm.getLastKnownLocation(providers.get(i)); 
     if (l != null) 
      break; 
    } 
    double[] gps = new double[2]; 

    if (l != null) { 
     gps[0] = l.getLatitude(); 
     gps[1] = l.getLongitude(); 
    } 

    return gps; 
} 

我得到了準確或精確的經度和緯度第一時間我嘗試從距離我的第一個位置一英里遠的地方獲得新的座標後運行應用程序,但我獲得了相同的經度和緯度。

所以請你能告訴我這個問題是如何發生的。這是什麼解決方案?

+0

請在這裏放置lm.getProvider()方法代碼。或者在這裏寫入requestUpdateLocation()方法代碼 – Pratik

回答

0

.getLastKnownLocation()將不準確。您需要使用LocationListener來獲取準確和最新的位置更新。請參閱this鏈接。您通常只需要在開始快速修復時使用getLastKnownLocation ONCE,然後註冊一個LocationListener以獲得更準確,持續的更新。

另外請注意,坐在你家試圖測試將無法很好地工作。你可能需要出去走走一些。