我使用CoreLocation Framework来获取位置,当它在网络中正常工作时,但当没有网络时,它总是无法找到。它不会在几秒钟后停止接收位置信息。 我想知道如何在没有网络的情况下使用GPS定位?
答案 0 :(得分:0)
我认为您在设备无法接收GPS卫星信号的房屋或建筑物中使用您的设备。
如果是这种情况,您所看到的是预期结果。 iOS内部保留最后一个位置(缓存)。当您开始位置更新时,iOS会快速将该兑现位置传递给locationManager(:didUpdateLocations)。当没有网络或卫星信号时,此后不会发送位置更新。
如果您的设备正在接收无卫星信号的wifi,iOS会使用wifi确定粗略位置,并发送位置更新。您无法区分位置更新的来源;他们可能来自wifi或GPS卫星。 (实际上,您可以通过查看准确度来猜测。当源是wifi时,精确度固定为50米/我的iPhone。)
检查位置更新是否已缓存的一种方法是检查位置更新的时间戳。 兑现位置更新应具有比开始位置更新时更旧的时间戳。
所以,对于你的问题,你做的是正确的事情。位置管理器非常易于使用。尝试在没有网络的开放天空中接收卫星信号。对于你的测试,不要动。最多可能需要5-7分钟。如果你搬家,可能需要更长时间。希望这会有所帮助。