在不同位置使用gps获取纬度和经度值时出现问题

时间:2011-09-28 04:41:08

标签: android gps

我使用以下代码查找我的Android应用程序的经度和纬度

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;
}

当我试图从距离我的第一个位置一英里远的地方获得新的坐标但我得到相同的纬度和经度时,我第一次获得准确或精确的纬度和经度。

所以,你能否告诉我这个问题是怎么发生的。这是什么解决方案?

1 个答案:

答案 0 :(得分:0)

.getLastKnownLocation()将不准确。您需要使用LocationListener来获取准确且最新的位置更新。请参阅this链接。您通常只想在开始快速修复时使用getLastKnownLocation ONCE,然后注册LocationListener以获得更准确,持续的更新。

还要注意,坐在你家里试图测试不会很好。你可能需要到外面走走一些。