我正在创建一个使用位置的应用 -
除了一件事之外,一切都在游泳 -
当我回到家时,我的iphone连接到我的本地wifi网络而不是通过手机中的gps获取我的位置它试图通过弄清楚我的wifi网络连接到哪里 - 如果我关闭它我的wifi保持准确的位置点 -
一旦我的手机连接到我的wifi网络,它就会开始告诉我我的位置距离我的实际点数公里/英里。
我希望我的应用程序不要使用wifi网络尝试获取我的位置 -
有没有办法,我可以 - 一个。告诉您是否已从GPS导出位置点,以便我可以忽略从wifi网络派生的位置。 湾停止位置服务跳转到wifi的位置
答案 0 :(得分:5)
我做了一些游戏
找到一些苹果文档说明[location verticalAccuracy]
需要使用gps的设备。
所以我把这段代码放在(删节)中,基于我所做的有限测试,它似乎正在做我想要的:
if (([location horizontalAccuracy] > 0) && ([location verticalAccuracy] > 0)){
//report location here
}
感谢所有人的回复。
答案 1 :(得分:2)
除了要求用户关闭他的Wifi之外,没有记录的方法可以强制位置管理员通过Wifi使用GPS。私有API可能是可能的,但这也会让你从App Store中被拒绝。
答案 2 :(得分:1)
您可以设置cLLocationAccuracy.desiredAccuracy = kCLLocationAccuracyBest并查看是否这样做。它应该尝试并限制GPS使用,但这不是100%保证。
答案 3 :(得分:1)
它在家中使用WIFI的原因是因为它无法直接看到太空中的GPS卫星 - 而不是没有给你任何位置数据,它使用下一个最佳可用来源。
答案 4 :(得分:0)
不准确的GPS坐标不仅可以通过Wi-Fi或移动网络获得iPhone,还可以获得精度等级> 100米的真实坐标。
我使用的是放行:if (newLocation.horizontalAccuracy < 0 || newLocation.horizontalAccuracy > 50) return;
作为didUpdateToLocation
中的第一行,用于过滤掉不准确的坐标。
'location age'即NSTimeInterval locationAge=[locTimestamp timeIntervalSinceNow];
不能让我摆脱缓存的坐标。
答案 5 :(得分:-5)
A-GPS = GPS +蜂窝塔三角测量。没有WI-FI定位。