GPS定位跟踪

时间:2013-05-07 11:41:34

标签: java android gps location

我想实施GPS跟踪服务。在网上搜索后,我仍然对练习此功能的最佳方式感到困惑。

我想在他离家一英里的地方开始关注用户。

我认为应用程序将安装在用户家中并使用:

locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

我将获取用户的坐标并将其与行进时更改的坐标进行比较。 当用户离开他家一英里时,我会每隔预定义的时间间隔发送带有他的地图位置的短信。

我想知道是否有人之前做过类似事情,并且可以为此任务推荐最佳实践。

此外,GPS的准确程度如何,以及获得距离的最佳做法是什么?

提前致谢。

2 个答案:

答案 0 :(得分:4)

根据我的经验,使用GPS始终跟踪用户何时离开其家乡位置并不是一个好主意,因为它会立即烧毁电池。我最后通过查看过夜的蜂窝塔ID来学习家庭位置(假设用户在家)。如果你达到一定程度的信心,你知道用户的家庭位置,你可以问他“你现在在家吗?”完全确定(虽然这对许多用户来说有点令人毛骨悚然)。

如果您遵循此策略,您可以启动GPS,如果用户连接到新的手机信号塔并节省大量电池。

关于准确性。您可以获得每个Android.Location对象提供的准确性。如果您在外面,通常是5或10米。但要注意,根据documentation

,这个值只有68%的可能性是正确的
  

我们将准确度定义为68%置信度的半径。换句话说,如果您绘制一个以此位置的纬度和经度为中心的圆,并且半径等于精度,那么真实位置在圆内的概率为68%。

答案 1 :(得分:3)

小心,getLastKnownLocation方法不需要返回用户的原始位置。 你宁愿得到当前的位置。大多数情况下,getLastKnownLocation用于快速获取位置(避免繁重的后台工作)。

GPS准确度取决于许多因素:

天气,芯片质量,领域......

但是,大多数情况下,网络提供商更准确。

这是一个非常好的链接:http://developer.android.com/guide/topics/location/strategies.html

你会学到很多东西。