将OnInspectorGUI()
属性设置为CLLocationManager
,.desiredAccuracy
室内返回的坐标的准确度是多少?
错误范围是多少?在5到10米之间?我至少能找到我在哪个房间吗?
答案 0 :(得分:0)
原始答案 - Location manager accuracy not very accurate
位置管理员可能会向您发送一些更新,因为它可以提高准确性。这是一个旨在尽可能快地为您提供信息的功能,同时最终为您提供最佳信息(至少达到您要求的准确度)。您正在积极地避免这些更新,因此您可能获得的信息最不准确。
您应该检查horizontalAccuracy以确定它是否足够准确供您使用。
请注意,您无法将horizontalAccuracy与kCLLocationAccuracyBest进行比较。 “最佳”是常数-1。你需要将它与你需要的东西(以米为单位)进行比较,并且如果到达那里需要太长时间(系统可能无法为你提供任意准确的值),可能会设置超时以放弃。(
所需准确度的文档。 https://developer.apple.com/documentation/corelocation/cllocationmanager/1423836-desiredaccuracy
在请求高精度位置数据时,位置服务提供的初始事件可能没有您请求的准确性。定位服务尽快提供初始事件。然后,它会继续以您请求的准确度确定位置,并在数据可用时根据需要提供其他事件。 对于iOS和macOS,此属性的默认值为kCLLocationAccuracyBest。对于watchOS,默认值为kCLLocationAccuracyHundredMeters。 此属性仅与标准位置服务一起使用,在监控重要位置更改时不使用。
希望有所帮助
答案 1 :(得分:0)
来自CLLocationManager
的标题:
用于表示以米为单位的位置准确度级别的类型。以米为单位的值越低,位置的物理精确度越高。负精度值表示位置无效。
Apple未在其文档中指定CLLocationAccuracyBest
实际代表的内容,可能是因为我们无法保证准确度。充其量,CoreLocation可以让你达到几米,但很多时候 - 特别是在室内 - 你将无法获得那种可靠的阅读。
对于逐个房间的室内测距,使用iBeacons with CoreLocation可能会获得更可靠的结果。