获得快速准确位置的最佳方式[关闭]
Posted
技术标签:
【中文标题】获得快速准确位置的最佳方式[关闭]【英文标题】:Best way of getting Fast and Accurate Location [closed] 【发布时间】:2016-09-27 23:04:44 【问题描述】:在 android 中,我见过很多获取位置的方法。我已经阅读了关于 Location 的 this 和 this,并且我已经了解了 Fused Location Api。
我在应用程序中的情况是,当用户启动应用程序时,它必须以最快的方式获取位置。因为我必须根据用户位置做一些特定的任务。
所以到现在我正在使用定位服务。在此,我尝试了来自 GPS 的定位和来自网络的定位。但他们都需要启用我的位置,但我认为我是否从网络获取位置无关紧要?是吗 ?
那么你们会建议我如何获得位置?哪个应该快速准确地回复?
-
位置与 GPS 和网络的主要区别是什么,因为两者都需要启用位置?
上下文中的最佳提供者是什么意思?
融合位置如何工作?
我应该选择 Fused Location API 的位置服务,因为我的应用会使用数据或 wifi(互联网)来进一步工作吗?
请就此争论我的这些困惑?什么对我最好,请有人能分清我的情况并相应地回答我吗?
【问题讨论】:
【参考方案1】:您从 GPS 获得的位置比您从网络获得的位置更准确,因此如果您需要准确度,请使用 GPS
对此不确定,但我认为它与上下文有关,您想要什么类型的位置,如您想要的准确度或最快的位置,因此根据选择您的提供商
FusedLocation 提供程序是目前在 android 上获取位置的最有效和最有效的解决方案,它从不同来源收集位置数据,并根据传递的参数,如您希望更新位置的时间,您是否需要高精度等。它为您提供最佳位置。
是的,您应该使用 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 智能管理底层定位技术,并根据您的需求为您提供最佳位置。它简化了应用获取用户当前位置的方式,提高了准确性并降低了功耗
融合的位置提供者提供三种获取位置的方式
最后位置:当您想知道当前位置一次时使用。
使用监听器请求位置:当应用程序在屏幕/前端并需要继续位置时使用。
使用 Pending Intent 请求位置:在后台应用程序并要求继续定位时使用。
【讨论】:
如果我希望我的用户位置继续在服务器上发送,为此我认为我必须将融合位置部署为服务?即使我的应用程序已关闭或在后台或强制关闭,如何让我的应用程序检索位置? @CoasMckey 我为此使用了前台服务。以上是关于获得快速准确位置的最佳方式[关闭]的主要内容,如果未能解决你的问题,请参考以下文章