-1

我有一个应用程序可以用 GPS 计算距离(以公里为单位)。我的问题是我的应用程序延迟了公里数。

我用它来更新坐标。

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

我计算 1 米 200km\h 需要 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);

对不起,我的英语不好。

提前致谢。

4

2 回答 2

0

GPS 芯片(以及您手机中的芯片)每秒提供的位置不超过一次。因此,总结距离,也许有一点过滤,给你正确的距离。

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

如果您进行推断,那么很明显,稍后可能会证明估计是错误的(例如,当汽车减速时)。

所以我的建议是,你应该只总结你从 Gps 得到的东西。

于 2013-07-03T09:45:03.970 回答
-1

速度 = lm.getSpeed(); if(first_kilometer) timeTaken =TimeNow - TimeStarted; 否则 timeTaken = TimeNow - TimeLastKilometer;

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

TimeLastKilometer = TimeNow;

公里++;

于 2013-07-02T11:00:18.310 回答