iPhone uses one of three methods to determine (or approximate) the user's location:
1. GSM Cell ID location lookup (available both in iPhone and iPhone 3G)
2. Wi-Fi MAC address location lookup (available both in iPhone and iPhone 3G)
3. A-GPS (available only in iPhone 3G)
Neither of these methods is based upon triangulation.
The first method is Cell ID location lookup, which works as follows: A GSM handset always communicates with exactly one sector of a base station, and each GSM sector in the world has a globally unique identifier, known as CGI (cell global identity). The CGI consists of 4 fields, the MCC (mobile country code), the MNC (mobile network code), the LAC (local area code), and the CID (cell ID). (Even though this method is usually called Cell ID-based location lookup, it actually requires the entire CGI, of which the CID is only one component.) So each GSM mobile is always tuned to exactly one serving sector, and part of the channel overhead messaging of that sector is to broadcast its CGI. (The iPhone displays each component of the CGI in the Field Test application under Cell Information.) When the user invokes the Locate Me feature, iPhone sends the CGI to the Google server, which then correlates it against its Cell ID database to retrieve a range of locations that previous users have reporting being at when connected to that same CGI. (A short writeup about this can be found here.) Since each sector covers a rather large area (depending on cell size, the radius of a serving sector can be anywhere from about 0.2 mi all the way up to 22 mi), the resulting location fix is only approximate. Note also that the mobile only reports the CGI of the one (and only) serving sector, so triangulation of the mobile's position is impossible, since that would require at least two known reference points (base stations).
Although CGI-based triangulation is actually possible when taking into account non-serving neighbor sectors (the positions of which are known to the subscriber's wireless carrier), receive signal strength (which can serve as an approximation for distance from the base station) and/or timing advance (which provides a much better approximation of distance from the base station), the iPhone and Google Maps app don't use any of these parameters and are hence unable to perform triangulation.
The second method is Wi-Fi MAC address based location lookup. It actually works quite similar to Cell ID location lookup. Each Wi-Fi base station (access point) is permanently provisioned with a globally unique MAC address which is constantly being broadcast as part of the 802.11 protocol stack. When the user initiates a Locate Me query and the iPhone is within Wi-Fi coverage, it will send the MAC address of the serving Wi-Fi base station to Skyhook Wireless, which has compiled a database of known Wi-Fi access points, their MAC addresses, and approximate location. If Skyhook finds a match for the MAC address provided, it will then return the approximate location of the base station. Since Wi-Fi base station radiation patterns are typically omni-directional (non sectored) and since the mobile cannot determine its distance from the base station, the position fix will actually return the location of the base station, not the location of the mobile. However, since Wi-Fi has a relatively small coverage area, the mobile is assumed to be in close proximity of the base station. Note that this method also does not fit the definition of triangulation, as only a single fixed reference point is available.
Due to the CDMA-based nature of the physical layer communication in 802.11b/g, the iPhone may actually see several Wi-Fi base stations simultaneously. It could conceivably provide the MAC addresses of all Wi-Fi base stations within range to Skyhook, and Skyhook could conceivably aggregate and consolidate the various positions of each base station that corresponds to a MAC address provided in the query, and therefore provide a fix based on several known reference points. I don't know if Skyhook has this capability and whether the iPhone software would be able to take advantage of it, but in any case even if it does, I would not call this triangulation, since an exact location fix of the mobile is still not possible. Referencing multiple Wi-Fi base stations merely positions the mobile into a smaller range of uncertainty, somewhere between (or around) those base stations, but without a distance or angle measurement, triangulation is still not possible...
In conclusion, the term "triangulation" should best be avoided in reference to the iPhone or any of its 3 location determination (or approximation) methods as it doesn't properly apply to any of them.
I hope this little memo will prove useful to some readers and help reduce the use of incorrect terminology throughout the iPhone forum.