2017-05-25 412 views
0

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

+0

添加您的实施代码,以便任何人都可以帮助您。 –

+0

这可能是因为GPS需要更长时间才能找到。谢谢! –

回答

0

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

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

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

检查您的位置更新是否被缓存的一种方法是检查时间戳位置更新。 兑换位置更新应比您开始位置更新时具有更早的时间戳。

因此,对于你的问题,你正在做正确的事情。位置经理非常易于使用。尝试在没有网络的情况下接收卫星信号。为了您的测试,请勿移动。最多可能需要5-7分钟。如果移动,可能需要更长的时间。希望这可以帮助。

+0

昨晚我在回家的路上打开了我的APP,当我回到家时,我得到了位置信息,这可能是因为GPS需要更长时间才能找到。谢谢! –

+0

这很好。正如我上面所写的,“冷启动”不带网络,可能需要5-7分钟。如果您有网络,手机会从网络获取GPS卫星轨道数据,称为年历/星历,以加速初始定位。这两个数据每30秒从卫星发送一次。所以在冷启动时至少需要30秒的网络时间。 – beshio

相关问题