Android:GPS - 计算公里数的最佳方式

时间:2013-07-02 10:20:13

标签: android count gps distance

我有一个应用程序用GPS计算距离(公里)。 而我的问题是我的应用推迟了几公里。

我用它来更新坐标。

lm.requestLocationUpdates(lm.GPS_PROVIDER, 180,1, Loclist); 

我计算1米,200公里\小时需要180毫秒。 但也许这是错误的,因为我再次获得慢速公里。

我不知道用汽车行驶数公里更新的最佳方式是什么。

我使用此代码计算距离。

Location locationA = new Location("point A");
    locationA.setLatitude(lastLat);
    locationA.setLongitude(lastLon);


Location locationB = new Location("point B");
        locationB.setLatitude(currentLat);
        locationB.setLongitude(currentLon);


        distanceMeters = locationA.distanceTo(locationB);

抱歉我的英语不好。

提前致谢。

2 个答案:

答案 0 :(得分:0)

GPS芯片(以及手机中的芯片)每秒提供的位置不超过一次。 因此,总结距离,可能会进行一些过滤,为您提供正确的距离。

当然距离可以延迟1-1.5秒,如果您想要估算自上次更新位置以来的距离,或者您只想测量测量位置,则取决于您的应用。

如果你推断那么很明显以后可能会发现估计是错误的(例如当减速汽车时)。

所以我的建议,你应该只总结一下你从Gps获得的alady。

答案 1 :(得分:-1)

speed = lm.getSpeed(); 如果(first_kilometer) timeTaken = TimeNow - TimeStarted; 其他 timeTaken = TimeNow - TimeLastKilometer;

然后,如果你得到30公里/小时......那么30/60分钟=达到一公里所需的时间。 (速度/ 60)= timeTakenToGetKilometer;

TimeLastKilometer = TimeNow;

公里++;