It's not always sufficient to confirm that the Maps app shows your location. You also need to ensure that your location is transmitted back to the server, otherwise real time navigation won't work. Under "Location and Privacy" there should be a setting "Location" which lets you choose either "E911 Only" or "Location On" or something similar to that. You need to have that set to Location On in order for real-time navigation to work.
In the custom ROM I last flashed, there's some kind of bug concerning GPS, and navigation doesn't work. In my settings I can't even find the option to toggle between E911 and "Location On". I really hate having to do this, because I like my current ROM for other reasons. But I'm going to have to go back to HydroRom because I really want to have navigation working.