【问题标题】:How to find latitude and longitude faster in android?如何在android中更快地找到纬度和经度?
【发布时间】:2012-02-01 20:04:48
【问题描述】:

我正在使用 LocationManager 获取用户的纬度和经度值。这些值会定期更新到数据库中,并根据存储的纬度和经度值找出两个用户之间的距离。

现在,onLocationchanged() 调用速度很慢,有时会变快。当我等待很长时间继续下一个过程时。当我在室内时,位置搜索很慢..

这个问题有什么解决办法吗。请给我一个指导和例子。

请在给我解决方案后尽快接受我的问题。

【问题讨论】:

标签: android


【解决方案1】:

如果你使用network location provider,你会更快地获得位置,但它会不太准确(100-500m)。

OTOH,GPS 提供商会更准确(10-20m),但获取位置需要更多时间,因为设备需要获取 GPS 卫星信号。有时甚至无法获取信号,尤其是在室内或茂密的树下。

【讨论】:

  • 感谢您的回复。我曾使用 GPS 提供商。现在我将尝试网络提供。你能给我这两者之间的差异吗。给我一个例子
【解决方案2】:

GPS 启动有多种类型:

COLD start:需要很多时间。旧的 GPS(卫星/时间)数据实际上是无用的。

WARM start :GPS 设备会记住其最后计算的位置、使用的历书和 UTC 时间,但不会记住视野中的卫星。你得到修复相当快。

HOT start :当 GPS 设备记住其最后计算的位置和视野中的卫星、使用的历书(有关星座中所有卫星的信息)、UTC 时间并尝试锁定相同的卫星时并根据之前的信息计算一个新的位置。

要模拟热启动情况,您只需连接到提供辅助数据的 SUPL 网络即可。即使是冷启动也可以转换为热启动。要确保 SUPL 网络可用,请确保您已连接到 Internet。在室内情况下,看不到卫星,因此在没有任何辅助数据的情况下很难获得准确的修复。至少应可见 3 颗卫星。 SUPL 网络再次来救援。

请注意,不同的 GPS 芯片组具有不同的性能/算法,三角测量时间取决于您的网络提供商提供的 SUPL 网络。

你可以在这里here了解更多信息

【讨论】:

  • 由于这些方法无法通过 Andoir-API 获得,因此它们在给定的上下文中毫无用处。
  • 他们不是正式的,是的。但大多数主要手机制造商都使用额外的命令(这是 Android API 的一部分)来支持这一点
【解决方案3】:

Reto Meier 的博客/项目是很好的起点:

http://code.google.com/p/android-protips-location/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 2012-03-16
    • 1970-01-01
    • 2012-11-02
    • 2012-06-30
    相关资源
    最近更新 更多