How does the iPhone learn new WiFi locations in terms of using them for location estimates

。_饼干妹妹 提交于 2019-12-03 12:03:54

问题


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?


回答1:


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.

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.

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.

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.




回答2:


The iPhone uses Skyhook Wireless for determining WiFi location. You can submit your information using their submission page.

EDIT:

Apparently this is no longer true. Apple seems to aggregate this data from iOS devices directly now. See the comments.



来源:https://stackoverflow.com/questions/2140340/how-does-the-iphone-learn-new-wifi-locations-in-terms-of-using-them-for-location

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!