Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中更快地找到纬度和经度?_Android - Fatal编程技术网

如何在android中更快地找到纬度和经度?

如何在android中更快地找到纬度和经度?,android,Android,我正在使用LocationManager获取用户的纬度和经度值。这些值定期更新到数据库中,并根据存储的纬度和经度值找出两个用户之间的距离 现在,onLocationchanged()调用非常慢,有时速度会很快。当我等待很长时间以继续下一个过程时。当我在室内时,位置搜索非常慢 这个问题有什么解决办法吗?请给我一个指南和例子 请接受我的问题,尽快给我一个解决方案。如果您使用,您将获得更快的位置,但它将不太准确(100-500米) 奥托,GPS提供商将更精确(10-20m),但由于设备需要获取GPS卫

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

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

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

请接受我的问题,尽快给我一个解决方案。

如果您使用,您将获得更快的位置,但它将不太准确(100-500米)


奥托,GPS提供商将更精确(10-20m),但由于设备需要获取GPS卫星信号,获取位置将需要更多时间。有时甚至无法获取信号,尤其是在室内或茂密的树木下。

有几种类型的GPS启动:

<代码>冷启动:需要大量时间。旧的GPS(卫星/时间)数据实际上是无用的

热启动
:是指GPS设备记住其上次计算的位置、使用的历书和UTC时间,但不记得看到了哪些卫星。你很快就修好了

热启动
:当GPS设备记住其上次计算的位置和视图中的卫星、使用的历书(关于星座中所有卫星的信息)、UTC时间,并尝试锁定相同的卫星并根据以前的信息计算新位置时

要模拟热启动案例,您所要做的就是连接到SUPL网络,该网络提供辅助数据。即使是冷启动也可以转换为热启动。要确保SUPL网络可用,请确保您已连接到internet。在室内情况下看不到卫星,因此在没有任何数据协助的情况下很难获得准确的定位。至少有3颗卫星是可见的。SUPL网络再次出手相救

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


你可以在这里了解更多这方面的信息。Reto Meier的博客/项目是一个很好的起点:


谢谢你的回复。我曾经是GPS提供商。现在我将尝试提供网络。你能告诉我这两者之间的区别吗?给我一个例子你是否尝试在单独的线程中调用此函数?一旦我有了相同的问题,我从这个线程得到了答案:由于这些方法无法通过Andoir API使用,在特定的环境下,它们是非常无用的。它们不是官方的,是的。但是大多数主要的手机制造商使用额外的命令(Android API的一部分)来支持这一点