For the record, I play on an iPhone 5S (16GB, currently iOS 9.3.2), which is what this article relates to. Your system may be different, and act differently. Also, this issue is real per July 21, 2016, but may hopefully be sorted out in the future because I find it bloody annoying.
So I just jumped on the bandwagon and started playing Pokémon GO about a week ago, in secret, because at the time both my daughters’ phones were unable to run the game. Now, having acquired new phones for them (that game was only one of many reasons to upgrade), I can finally crawl out of my Pokémon GO closet without fear of facing a teenage lynching mob for doing so.
Whilst playing, I’ve noticed that the in-game compass has ideas of its own about where the heck north is supposed to be. That doesn’t matter so much when you turn the map around manually with a fingertip, but if like me you prefer to have it automatically point in the direction you’re looking or walking, it can be a pain in the wossname. I think I’ve sorted it out enough to manage a workaround, though.
It seems the game will assume that whichever direction the phone is pointing when the game starts, is north. If you happen to know where north is, simply point your phone that way when you start Pokémon GO.
This, of course, requires that your phone’s compass knows which way is north. I’ve also noticed that during game play, or after closing the game app, the iOS compass app will be all over the place and require a calibration. The compass app itself can take anywhere from seconds to several minutes to discover that something is up, so I’ve found that going into Settings → Privacy → Location Services → System Services → Compass Calibration, and turn that one off then on again, will force a calibration. Mind you, the time you spend doing that, may often be more than what the compass needs to figure it out by itself anyway, so you may prefer to simply wait it out.
I couldn’t find anything about this issue anywhere else, hence this blog post. In the event that I am not the only one experiencing this problem, I hope this may be of help.