我知道iPhone可以并且确实使用WiFi接近来获取大致的位置.这显然只有当天空中的某些数据库知道该WiFi热点的大致位置时才会发生.我的问题是热点如何进入该数据库?每当iPhone具有相当准确的GPS位置并检测到WiFi或者是否有一些手动或编程方式添加热点时,它会自动添加吗?
解决方法
苹果使用自己的数据库从iOS 3.2(之前他们使用Skyhook无线).这可以通过启用GPS的iOS设备向Apple发送WiFi MAC地址.因此,如果设备具有GPS定位功能,它会自动将所有与GPS检测到的位置一起发送的WiFi MAC地址发送给Apple.除了主核心位置开关之外,没有更改此行为的选项.用户必须接受在EULA中看到的WiFi MAC地址的传输.
通过WiFi的位置检测工作方式相反,通过将所有看到的WiFi MAC地址发送给苹果,并对其进行响应.实际上,他们通过在手机上缓存尽可能多的WiFi地址来大大优化.所以这甚至可以在一定程度上在iPod touch上无任何网络连接.
该算法的弱点是MiFi和类似设备(重新定位WiFi热点).目前,核心位置并没有很好地丢弃明显错误的WiFi位置.例如,在没有GPS接收的室内交易会上,由于许多MiFi设备在那里,因此准备更改位置更新.
要回答您关于手动添加WiFi热点问题:否,没有办法.只需使用运行iOS 3.2或更高版本的GPS启用iPhone / iPad,并且MAC地址将最终进入数据库.根据我的经验,这发生得相当快.