【问题标题】:GPS Location TrackingGPS位置跟踪
【发布时间】:2013-05-07 11:41:34
【问题描述】:

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

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

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

locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

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

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

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

提前致谢。

【问题讨论】:

    标签: java android gps location


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      GPS 精度取决于许多因素:

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

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

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

      你会从中学到很多东西。

      【讨论】:

        猜你喜欢
        • 2016-07-01
        • 2011-05-22
        • 1970-01-01
        • 2016-11-14
        • 1970-01-01
        • 2011-02-21
        • 2017-11-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多