在 Google 地图导航正在运行时请求位置更新
Posted
技术标签:
【中文标题】在 Google 地图导航正在运行时请求位置更新【英文标题】:Requesting location updates while Google Maps Navigation is actively running 【发布时间】:2012-12-24 01:39:13 【问题描述】:我想仅使用 GPS 提供程序从 LocationManager 请求位置更新。我知道这样做不会立即返回位置结果。
但是,我们假设用户当前正在运行 Google 地图导航应用(即有一条有效路线)并且他们的 GPS 信号很强。由于 GPS 位置不断被修复,请求 GPS 位置会很快产生结果吗?还是我做了一个无效的假设?
此外,如果我在 Navigation 应用程序运行时调用 getLastKnownLocation(LocationProvider),我可以假设最后一个已知位置会非常接近当前位置吗?导航应用主动导航时,最后一次已知位置的更新频率是多少?
非常感谢!
【问题讨论】:
“导航应用程序主动导航时,最后一次已知位置的更新频率是多少?” ——这充其量是 Google Nav 的作者的一个问题。欢迎您在 Google 找到一份工作并询问他们。他们会告诉你的是,他们今天在某某间隔请求更新,但他们是否得到更新取决于环境因素(例如,汽车是否在停车场?)。他们将进一步解释说,他们将来可能需要改变他们的方法。 TL;DR:没有人会依赖其他应用行为的副作用。 @CommonsWare 我知道依赖另一个应用程序不是一个好主意。而且我也明白,因为接收等因素,答案并不简单。但我确信在用户有清晰 GPS 信号并使用他们的设备进行导航的理想情况下,有人可以说出这些位置调用的行为。 【参考方案1】:请求 GPS 位置是否会因为它不断被修复而快速产生结果?还是我做了一个无效的假设?
此外,如果我在 Navigation 应用程序运行时调用
getLastKnownLocation(LocationProvider)
,我可以假设最后一个已知位置会非常接近当前位置吗?
如果您有侦听 GPS 更新的服务,您将可以访问为任何应用程序返回的最新数据。我建议使用PASSIVE_PROVIDER
,它将在任何提供者到达时接收更新。
【讨论】:
是的,我可以访问返回的最新数据。我明白这一点。谢谢。【参考方案2】:我在 30 秒内获得了我的 HTC Incredible 中的 GPS 修复,关于您的问题,我尝试打开导航应用程序和我的应用程序,如果我只运行我的应用程序,我看不出有任何区别。
请求 GPS 位置是否会因为它不断被修复而快速产生结果? GPS 会根据卫星产生快速修复。
【讨论】:
以上是关于在 Google 地图导航正在运行时请求位置更新的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python“运行 Javascript”输入更新 Google 地图标记位置