需要延迟等待GPS

时间:2011-06-02 15:06:56

标签: objective-c gps timing

使用iPhone和物镜C,有没有办法停止或执行定时循环以允许GPS赶上并返回一组有效的坐标?

目前,应用程序运行得太快,GPS无法足够快地提供坐标......

4 个答案:

答案 0 :(得分:4)

既然你说你在iPhone上,你就是在使用CLLocationManager。只需在经理上设置一名代表,然后等待locationManager:didUpdateToLocation:fromLocation:消息知道GPS数据何时准备就绪。

答案 1 :(得分:0)

假设您的GPS轮询在与用户界面不同的线程中运行,您可以从等待GPS数据的线程中调用静态NSThread函数sleepForTimeIntervalsleepUntilDate

答案 2 :(得分:0)

如果您的移动应用程序使用GPS,即使您的应用程序没有跟踪移动,您的应用程序也应准备好进行位置更新。 一个常见的情况是用户将您的应用程序放在后台并稍后在完全不同的位置激活它。

在iOS上,像Anomie一样创建CLLocationManagerDelegate的实现。并使用更新的时间戳来评估位置的新鲜度。

不要睡觉&像其他人建议的民意调查。

答案 3 :(得分:-1)

要么阻止等待数据,要么在没有收到数据时不更新任何内容。当然有usleep(),但是没有显示代码,特别是你的循环是如何执行的,以及通过什么机制(线程与否)我们只能用一般术语来回答。