2

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

当他离家一英里时,我想开始关注用户。

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

locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

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

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

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

提前致谢。

4

2 回答 2

4

根据我的经验,一直使用 GPS 来跟踪用户何时离开家并不是一个好主意,因为它会立即烧毁电池。我最终通过整夜查看手机信号塔 ID 了解了家庭位置(假设用户当时在家)。如果您对知道用户的家庭位置有一定程度的信心,您可以问他“你现在在家吗?”之类的问题。完全确定(尽管这对许多用户来说有点令人毛骨悚然)。

如果您遵循此策略,您可以在用户连接到新的基站时启动 GPS 并节省大量电池。

关于准确性。您可以获得每个Android.Location对象提供的准确性。如果你在外面,这通常是 5 或 10 米。但请注意,根据文档,这个值只有 68% 的可能性是正确的:

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

于 2013-05-07T11:54:34.197 回答
3

请注意,getLastKnownLocation 方法不一定会返回用户的起始位置。你应该得到当前的位置。大多数时候,getLastKnownLocation 用于快速获取位置(避免繁重的后台工作)。

GPS 精度取决于许多因素:

天气、芯片质量、场地、...

但是,大多数时候,网络提供商更准确。

这里有一个很好的链接:http: //developer.android.com/guide/topics/location/strategies.html

你会从中学到很多东西。

于 2013-05-07T11:46:48.400 回答