Google location based services using wifi access point data work as follows:
* The user’s device sends a request to the Google location server with a list of MAC addresses which are currently visible to the device;
* The location server compares the MAC addresses seen by the user’s device with its list of known MAC addresses, and identifies associated geocoded locations (i .e. latitude / longitude);
* The location server then uses the geocoded locations associated with visible MAC address to triangulate the approximate location of the user;
* This approximate location is geocoded and sent back to the user’s device.