【问题标题】:Best way of getting Fast and Accurate Location [closed]获得快速准确位置的最佳方式[关闭]
【发布时间】:2016-09-27 23:04:44
【问题描述】:

在 Android 中,我见过很多获取位置的方法。我已经阅读了关于 Location 的 thisthis,并且我已经了解了 Fused Location Api。

我在应用程序中的情况是,当用户启动应用程序时,它必须以最快的方式获取位置。因为我必须根据用户位置做一些特定的任务。

所以到现在我正在使用定位服务。在此,我尝试了来自 GPS 的定位和来自网络的定位。但他们都需要启用我的位置,但我认为我是否从网络获取位置无关紧要?是吗 ?

那么你们会建议我如何获得位置?哪个应该快速准确地回复?

  1. 位置与 GPS 和网络的主要区别是什么,因为两者都需要启用位置?
  2. 上下文中的最佳提供者是什么意思?
  3. 融合位置如何工作?
  4. 我应该选择 Fused Location API 的位置服务,因为我的应用会使用数据或 wifi(互联网)来进一步工作吗?

请就此争论我的这些困惑?什么对我最好,请有人能分清我的情况并相应地回答我吗?

【问题讨论】:

    标签: android android-fusedlocation android-gps


    【解决方案1】:
    1. 您从 GPS 获得的位置比您从网络获得的位置更准确,因此如果您需要准确度,请使用 GPS

    2. 对此不确定,但我认为它与上下文有关,您想要什么类型的位置,如您想要的准确度或最快的位置,因此根据选择您的提供商

    3. FusedLocation 提供程序是目前在 android 上获取位置的最有效和最有效的解决方案,它从不同来源收集位置数据,并根据传递的参数,如您希望更新位置的时间,您是否需要高精度等。它为您提供最佳位置。

    4. 是的,您应该使用 FusedLocationProvider 来获取 android 上的位置,因为 google 也建议这样做,它是目前在 android 上获取位置的最有效和最有效的方式。

    我希望这将有助于您做出决定。

    【讨论】:

    • 在 Fused location api 的情况下应该有互联网是否重要
    • 我对此不确定,但我认为它需要互联网连接,因为它使用 google api 回调来获取位置
    【解决方案2】:

    gps –>(GPS、AGPS): GPS 位置提供商的名称。该提供商使用卫星确定位置。根据 条件下,此提供程序可能需要一段时间才能返回位置修复。 需要权限 android.permission.ACCESS_FINE_LOCATION。

    网络 –> (AGPS、CellID、WiFi MACID):网络位置提供商的名称。 该提供商根据手机信号塔的可用性确定位置 和 WiFi 接入点。通过网络检索结果 抬头。需要任一权限 android.permission.ACCESS_COARSE_LOCATION 或 android.permission.ACCESS_FINE_LOCATION。

    Android 具有融合位置提供程序

    Fused Location Provider 智能管理底层定位技术,并根据您的需求为您提供最佳位置。它简化了应用获取用户当前位置的方式,提高了准确性并降低了功耗

    融合的位置提供者提供三种获取位置的方式

    1. 最后位置:当您想知道当前位置一次时使用。

    2. 使用监听器请求位置:当应用程序在屏幕/前端并需要继续位置时使用。

    3. 使用 Pending Intent 请求位置:在后台应用程序并要求继续定位时使用。

    【讨论】:

    • 如果我希望我的用户位置继续在服务器上发送,为此我认为我必须将融合位置部署为服务?即使我的应用程序已关闭或在后台或强制关闭,如何让我的应用程序检索位置?
    • @CoasMckey 我为此使用了前台服务。
    猜你喜欢
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多