ios - 位置更新的时间间隔更短

标签 ios swift gps core-location

我的应用程序高度基于 CLLocation 时间戳。我发现 CLLocationManager 以 ~1s 的间隔更新位置。这对我的应用程序来说还不够。是否可以配置 CLLocationManager 以更短的时间间隔更新位置,或者我应该寻找其他方法(计时器 + 手动询问位置)?

locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation
locationManager.allowsBackgroundLocationUpdates = true
locationManager.distanceFilter = kCLDistanceFilterNone
if #available(iOS 11.0, *) {
    locationManager.showsBackgroundLocationIndicator = true
}
locationManager.startUpdatingLocation()

计时器 + requestLocation() 不起作用。

最佳答案

您无法更改更新频率。但你可能不需要那个。您可以使用 CMMotionManager 框架计算手机位置,您可以使用 CLLocationManager 框架获取用户位置。

使用加速度计 计算设备运动。从 didAccelerate 方法,您可以获得移动的 xyz,因此将其应用于检测到的用户位置您可以计算新的设备位置。

希望这对您有所帮助,祝您好运。

关于ios - 位置更新的时间间隔更短,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49040825/

相关文章:

swift - 间隔中的 GPS ping

ios - 如何使用 swift 导入和导出 VCard 文件

ios - UILabel 未配置为自动布局

swift - 如何将 UILabel 添加到 ScrollView 以显示标签中的所有文本

android - 如何使用网络在 android 中使用 Fused Location Provider 获取位置?

安卓 GPS 校准

ios - block 中的实例变量和属性

ios - 如何在 Parse 的安装类中应用更新删除查询?

ios - 将 curl 命令转换为 iOS

swift - 迭代嵌套结构并返回每个结构上的总值