如何在iOS中没有网络的情况下通过GPS获取位置?

时间:2017-05-25 09:27:11

标签: ios gps core-location

我使用CoreLocation Framework来获取位置,当它在网络中正常工作时,但当没有网络时,它总是无法找到。它不会在几秒钟后停止接收位置信息。 我想知道如何在没有网络的情况下使用GPS定位

1 个答案:

答案 0 :(得分:0)

我认为您在设备无法接收GPS卫星信号的房屋或建筑物中使用您的设备。

如果是这种情况,您所看到的是预期结果。 iOS内部保留最后一个位置(缓存)。当您开始位置更新时,iOS会快速将该兑现位置传递给locationManager(:didUpdateLocations)。当没有网络或卫星信号时,此后不会发送位置更新。

如果您的设备正在接收无卫星信号的wifi,iOS会使用wifi确定粗略位置,并发送位置更新。您无法区分位置更新的来源;他们可能来自wifi或GPS卫星。 (实际上,您可以通过查看准确度来猜测。当源是wifi时,精确度固定为50米/我的iPhone。)

检查位置更新是否已缓存的一种方法是检查位置更新的时间戳。 兑现位置更新应具有比开始位置更新时更旧的时间戳。

所以,对于你的问题,你做的是正确的事情。位置管理器非常易于使用。尝试在没有网络的开放天空中接收卫星信号。对于你的测试,不要动。最多可能需要5-7分钟。如果你搬家,可能需要更长时间。希望这会有所帮助。