My friend told me that by law every cell phone needs GPS for emergency location ability.
No. Not yet anyway.
In the United States, we have what's called Enhanced 911 (E911). It requires that carriers be able to determine the location of
most callers to 911, within certain specs (ranging from one to a couple of football fields in distance, but soon to get smaller).
There are about a dozen ways of doing this, but they're broken into two main categories (which can be combined): GPS and tower-based. Some carriers, such as Verizon and Sprint, use GPS chips on the phone that tell the towers where they are, which is why they're able to also sell turn-by-turn navigation services on their phones.
Others, such as AT&T, use tower-based locating, where the receiving towers calculate the transmitting phone's position via timing of signal arrival, etc. I believe that AT&T uses the U-TDOA method:
[Uplink Time Difference of Arrival |http://www.trueposition.com/tech_U-TDOA.php]
Recently the FCC has gone after the carriers to make their locations more accurate for more people. Too many users can still only be located within miles (using Google map locator on the iPhone gives you a hint of that, especially if you live in the boondocks). Many observers think this means that all carriers will have to go to GPS assisted methods.