My experience with map and compass, over several years, is that in terrestrial situations, with anything like normal visibility, a compass is not particularly necessary. In an urban setting, with numerous possibilities for conditions that will disorient a compass, they are even less so.

In general, the more money you spend on a compass, the more reliable it will be. If you ask me, keychain compasses are cute gadgets - I would certainly not care to have to depend upon one for any serious purpose. Any city street map will show the orientation of the street grid with respect to cardinal directions and would be far more reliable and dependable than a compass.
_________________________
Geezer in Chief