How does the iPhone learn new WiFi locations in terms of using them for location estimates(iPhone 如何学习新的 WiFi 位置以进行位置估计)
问题描述
我知道 iPhone 可以并且确实使用 WiFi 邻近度来获取大致位置.这显然只有在天空中的某个数据库知道该 WiFi 热点的大致位置时才会发生.我的问题是热点如何进入该数据库?是在 iPhone 有相当准确的 GPS 位置并检测到 WiFi 时自动添加,还是有一些手动或编程方式添加热点?
I know the iPhone can and does use WiFi proximity to get approximate location. This obviously only can occur when some database in the sky knows the approximate location of that WiFi hotspot. My question is how do hotspots get into that db? Is it automatically added whenever the iPhone has a reasonably accurate GPS position and detects the WiFi or is there some manual or programatic way of adding hotspots?
推荐答案
Apple 从 iOS 3.2 开始使用他们自己的数据库(在此之前他们使用 Skyhook Wireless).这通过启用 GPS 的 iOS 设备向 Apple 发送 WiFi MAC 地址来实现.因此,如果设备有 GPS 定位,它会自动将它看到的所有 WiFi MAC 地址与 GPS 检测到的位置一起发送给 Apple.除了主核心位置开关外,没有其他选项可以更改此行为.用户必须接受 EULA 中看到的 WiFi MAC 地址的这种传输.
Apple uses their own database since iOS 3.2 (prior to that they used Skyhook Wireless). This works by sending WiFi MAC addresses to Apple by GPS-enabled iOS devices. So if the device has a GPS fix, it automatically sends all WiFi MAC addresses it sees alongside with the GPS-detected location to Apple. There's no option to change this behavior except the master Core Location switch. Users have to accept this transmission of seen WiFi MAC addresses in the EULA.
通过 WiFi 进行位置检测的工作方式相反,将所有看到的 WiFi MAC 地址发送给 Apple,Apple 会以该位置作为响应.实际上,他们通过在手机上缓存尽可能多的 WiFi 地址来极大地优化这一点.所以这甚至在没有任何网络连接的情况下(在某种程度上)在 iPod touch 上也有效.
Location detection via WiFi works the opposite way by sending all seen WiFi MAC addresses to Apple and they respond with the location. Actually they heavily optimize this by caching as many WiFi addresses on the phone as possible. So this even works (to some degree) on iPod touch without any network connectivity.
该算法的弱点是 MiFi 和类似设备(重新定位 WiFi 热点).目前,Core Location 在丢弃明显错误的 WiFi 位置方面做得并不好.例如,在没有 GPS 接收的室内贸易展览中,由于那里有许多 MiFi 设备,请准备好获取错误的位置更新.
A weak spot of this algorithm are MiFi and similar devices (relocating WiFi hotspots). Currently, Core Location does not do a very good job of discarding obviously wrong WiFi locations. For instance, on indoor trade shows without GPS reception, be prepared to get wrong location updates because of the many MiFi devices out there.
回答您关于手动添加 WiFi 热点的问题:不,没有办法这样做.只需使用运行 iOS 3.2 或更高版本且支持 GPS 的 iPhone/iPad,MAC 地址最终将进入数据库.根据我的经验,这种情况发生得相当快.
To respond to your question about manually adding WiFi hotspots: no, there's no way to do that. Just use a GPS enabled iPhone/iPad running iOS 3.2 or higher and the MAC address will make its way into the database eventually. In my experience, this happens rather quickly.
这篇关于iPhone 如何学习新的 WiFi 位置以进行位置估计的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:iPhone 如何学习新的 WiFi 位置以进行位置估计
基础教程推荐
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01