GPS uses triangulation involving multiple satellites, as well as your position relative to a cell tower, so what you need is line of site to the satellites. The Compass app uses GPS, not magnetic, so nearby metal should not cause any problems as it does with a real magnetic compass. You may need to calibrate the Compass app by holding it infront of you and moving it in a lazy figure 8.
If you're having problems with a real magnetic compass in your car, then calibrate it. It should have an adjustment setting that will allow calibration to a given vehicle, and if it doesn't, then it's to cheap to be used for serious navigation.
You might have misunderstood, or I didn't explain it properly
For an app to use a GPS compass, you obviously need to be moving, otherwise if your position never changed the app won't know which direction you're heading in.
My question relates specifically to the Maps App and I wondered if, for arguments sake, you headed in a North direction, the map would show you heading north i.e would orientate the map Northwards, rather than orientating the map in a direction dictated by the magnetic compass heading, which is likely to be suffering from interference from the car's metal parts.
That way, you would not need to calibrate the compass using the "figure-8" method, in order to orientate the map correctly, as long as you kept moving.
TomTom uses GPS heading, not Magnetic.
Motion-X GPS has an option of using either GPS or Magnetic heading when travelling at less than 5mph. At more than 5mph it automatically switches to GPS heading.
That's the feature I would lilke to see in the Maps app so it can be used to show your route, even when not navigating anywhere in particular.