-2

我创建了一个应用程序,它每 1 分钟将电话位置(使用 GPS 卫星)发送到我的 mysql 数据库。

一个位置有时可能会给您不同的结果,例如 st。x # 5 或圣。×#2-8。这对我来说是个问题,因为如果我在同一个位置停留 12 小时(睡觉时),我的数据库将被几乎相同的位置淹没。

我的问题是我如何避免这种情况,在整个 12 小时内,我将获得一个位置,如果可能是最准确的(不太重要).. 也许可以选择检查手机是否在移动?如果不停止跟踪?

4

2 回答 2

0

正如Android开发人员所建议的那样

通过在方法中使用最小距离requestLocationUpdate()

要确定最小距离,您可以评估最后一个位置的准确度并将阈值设置为准确度的 1.5 倍。

此外,您可以设置一个minTime取决于您想要更新位置的频率。还有一个代码教程。

http://developer.android.com/guide/topics/location/strategies.html#BestEstimate

您可以在其中确定当前位置是否比新位置更好,然后才将其发送到服务器。

于 2013-01-11T16:34:34.300 回答
0

我将从数据库的角度回答您的问题。

如果自上次间隔以来对数据库有任何更改,则应仅插入数据库。

例如,在您睡觉的前一天晚上,您将 x1, y1 发送到带有时间戳 t1 的数据库。您将继续从 t2、t3、t4 将 x1、y1 发送到数据库。您可以将其从数据库中丢弃。一旦开始移动,您将在 t1000 处插入 x2、y2。

在数据库中,只有 t1 和 t1000 两条记录。

如果您想知道 t10 的位置,那么您应该只从 t1 获取结果。

于 2013-01-12T04:43:08.803 回答