2011-09-28 25 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以获得更准确,持续的更新。

另外请注意,坐在你家试图测试将无法很好地工作。你可能需要出去走走一些。