【发布时间】:2021-03-21 13:11:07
【问题描述】:
我正在开发需要确切当前位置的应用程序。当我在户外使用 iOS 应用程序时,当前位置工作正常。但是当我在建筑物内时,当前位置是不准确的。它距离我的确切位置 100 米。
位置管理器的设置如下:
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.distanceFilter = 100
locationManager.allowsBackgroundLocationUpdates = true
我正在调用这个函数来更新位置:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location: CLLocation = locations.last!
self.updatedLocation = location
}
当前位置在建筑物中的 Android 设备上运行良好。 我观察到的一件事是,当我打开 Apple Maps 和 Google Maps 应用程序时,当前 位置与我在应用中获取的位置相同,但它们有一个浅蓝色圆圈,表明您可以在该区域周围的任何地方。
当我在建筑物内时,我是否可以改善当前位置?
任何帮助将不胜感激。
第一张图片是来自 iOS 的屏幕截图,当前位置不准确,第二张图片是来自 Android 设备的屏幕截图,位置准确。
【问题讨论】:
-
GPS 信号不能很好地穿透建筑物。如果这是您的建筑物和您的应用程序,您可以将室内地图数据添加到您的应用程序,但如果您谈论的是一般建筑物,则您无能为力
-
@Paulw11 啊好吧。是否有任何可能的方法可以通过我在 iOS 中的当前位置知道我是否在建筑物内?它目前显示我在大楼外面,即使我在里面。
-
您可以查看更新位置的
horizontalAccuracy,了解位置数据的准确性。当您在室外但在高层建筑之间时,您也可能会获得不准确的位置。 -
@Paulw11 我遇到了高层建筑的问题。即使当前位置对于我共享的图像完全不正确,horizontalAccuracy 的值也是 5。它显示我在天桥上或有时在地下通道上,但从不在建筑物中。
标签: ios swift iphone google-maps location