【问题标题】:how to change gps update time in ios如何在ios中更改gps更新时间
【发布时间】:2012-07-27 13:40:15
【问题描述】:

我正在寻找一种方法来在我的 iOS 应用程序中每 n 分钟更新一次后台位置。现在我每秒都会更新一次。我可以将一秒更改为三秒或四秒或每分钟吗.. .

这是我的代码:

 - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
        if([self.delegate conformsToProtocol:@protocol(GPSLocationDelegate)]) { 
            // Check if the class assigning itself as the delegate conforms to our protocol.  If not, the message will go nowhere.  Not good.

            [self.delegate locationUpdate:newLocation];

             NSLog(@"location manager");
            /// alert for check msg ////


            ////////////////////////////
        }
    }

【问题讨论】:

    标签: iphone objective-c ios ios5 gps


    【解决方案1】:

    你做不到。 或者,您可以通过以下方式实现它。当您获得位置更新时,它将具有与之关联的时间戳。

    在第一次位置更新时缓存时间戳。当您收到第二次位置更新时,比较差异并检查。如果它大于您的阈值限制,请调用您的代理并使用更新的位置时间戳更新缓存的时间戳。

    【讨论】:

      【解决方案2】:

      您可以在收到新位置时停止位置管理器,并安排一个计时器在 60 秒后重新启动它。唯一的问题是您不会在每 60 秒后准确触发事件,但这可能没问题。

      当你停止你的位置管理器时也要小心,因为我认为它的第一个事件可能是无效的(只给你一个你最后一个位置的副本),所以你可能必须让它运行 5-10在停止它并安排下一个触发器之前的几秒钟。

      祝你好运!

      【讨论】:

        【解决方案3】:

        位置更新是异步的,您无法控制它们出现的频率。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-02-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-08
          相关资源
          最近更新 更多