如何经常更新用户的GPS位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何经常更新用户的GPS位置相关的知识,希望对你有一定的参考价值。

我正在开发一款我想要监控用户位置的游戏。并且它应该是如此频繁,就像游戏是关于击中我附近的用户,如果我击中他并且同一用户用户移出范围那么这将是我的错过。

我知道一种方法,我可以用时间间隔调用位置更新方法,但这对我来说似乎不太好,任何其他方式来实现这一点?

答案

您可以使用核心位置框架。委托方法如:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
    if([self.delegate conformsToProtocol:@protocol(CoreLocationControllerDelegate)]) {  // 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];
    }
}

当用户更新位置时,将调用此方法。你也可以看看this教程。

另一答案

如果在核心位置设置distanceFilter,然后使用startUpdatingLocation启动位置跟踪,则只要移动设置的距离,就会获得更新。您想要做的事情可能很难取决于您想要“触摸”的“接近”程度,因为慢速移动的位置不是非常准确并且需要时间来更新。使用不到10米的触摸可能很困难。

以上是关于如何经常更新用户的GPS位置的主要内容,如果未能解决你的问题,请参考以下文章

安卓广播gps开启更新位置

如何防止其他用户更改 gps 位置和位置更新调用每个小间隔(比如 3 秒)

如何忽略 android 中的 irelevent gps 位置更新?

在后台服务中使用融合位置获取GPS更新前(15分钟)?

在 android 中获取更新位置和禁用 GPS 后如何获取?

如何在 Kotlin 中请求 GPS 位置更新