gpt4 book ai didi

ios - 使用 Core Location 检测隧道

转载 作者:可可西里 更新时间:2023-11-01 05:28:15 24 4
gpt4 key购买 nike

我正在使用 Core Location 进行转弯导航,并希望在隧道中显示“GPS 丢失”警报。

问题是以下两种情况对应用程序来说看起来是一样的:

  • 用户开车进入隧道。 GPS 更新停止,因为无法知道用户的位置。
  • 用户停在十字路口。 GPS 更新停止,因为用户不再移动。

我需要区分这两种情况。想法?

我尝试查看 horizo​​ntalAccuracy 属性,但有时更新会完全停止,因此没有新的 horizo​​ntalAccuracy 信息。

最佳答案

通常情况下,将 CLLocationManager 设置为最佳导航精度并且没有距离过滤器,即使您停在十字路口,您也应该每秒更新一次位置。

如果您在运动协处理器(使用 CMMotionActivityManager)说您仍在开车时停止获取这些更新,那么您可以推断您在隧道(或地下 parking 场或 GPS 不佳的地方)信号)。

顺便说一句,如果您设置了 distanceFilter = 0desiredAccuracy = kCLLocationAccuracyBestForNavigationactivityType = CLActivityTypeAutomotiveNavigation<,当您在十字路口停下时,GPS 更新不应停止

另一件需要注意的事情是,如果隧道有蜂窝网络覆盖,您仍然可以从蜂窝三角测量获得位置更新,但准确性较差。如果 CLLocation.horizo​​ntalAccuracy 从不到 50m 变为超过 300m,那么即使您仍在获取位置更新,您也已失去 GPS/GLONASS 覆盖范围。

关于ios - 使用 Core Location 检测隧道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29750119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com