This app gets the latitude, longitude and altitude of the current location. It also has a self declinating compass which automatically calculates the declination for your location anywhere in the world if a gps signal is available. This enables the compass to show both the magnetic and true heading. Holding the phone flat (there is a bubble level in the app to show when the phone is flat) is the best way to get the most accurate compass readings on most phones. If in doubt get away form metal and electronic devices and check it against a real compass.