当iPhone无法找到GPS信号时,它会使用Wifi猜测您的GPS位置。
如果找不到您的Wifi位置,则默认为启动手机的wifi网络。
有没有办法确定这两种形式的位置何时发生?
LocationManager提供了水平精度读数,但是如果您使用的是家庭Wifi,则表示(相当不准确)它具有+/- 500范围,即使您距离很远。
此外,知道手机正在读多少颗卫星是否可行?
答案 0 :(得分:2)
你问题的基础不太正确......
CoreLocation使用3种不同的方法来判断您的位置:
1)GPS - 最准确,吃大多数电池
2)细胞三角测量 - 仍然准确,吃一些电池
3)无线网络 - 精确准确,但对于无线网络所在的注册地点,所以对你所处的位置最不准确;吃一些电池
CoreLocation允许您告诉它您想要“猜测”的准确度,然后开始混合使用2和3,具体取决于您目前是否有wifi或单元格。它几乎立即(不是非常准确)开始给你猜测,并在需要它的情况下打开gps
至于知道哪些被使用,不,我认为你不能说,但你可能想要限定为什么你感兴趣,因为可能有其他方法来完成你需要的。
/>
注意:这个解释可能存在一些缺陷,但这是我从Apple iPhone开发代表那里得到的东西。
答案 1 :(得分:0)
不使用公共API。有可能找到私有API并链接它们以查找这些信息,但Apple不会喜欢这样,并且可能会拒绝App Store中的应用程序。