I've been curious about this for awhile. I've seen this happen for multiple versions of the iPhone with multiple apps, but to be specific, today with the iPhone 5s, iOS 9.0 and the Galileo map app, I was in a foreign country walking around, and had put my phone on airplane mode to avoid extra data charges. I had expected to use the Galileo app like a digital copy of an ordinary map, which is to say I did not expect it to know my current location. And yet, every time I moved 5m or so, my location was updated in real time. How is this possible? Was the phone getting signals from nearby WiFi, or cell towers, or what?
2 Answers
If you have a device with iOS 8.2 or earlier, Airplane Mode will also turn off GPS.
Thus with iOS 8.3 and above the GPS stays on while in Airplane Mode.
GPS works independently of phone or WiFi signals and is "receive only", so keeping it enabled even in Airplane mode doesn't influence other electronical devices nearby.
TIP: Also, to avoid huge data charges while abroad, you could just turn of Data Doaming in Settings -> Mobile Data. That way you can still send and receive texts and calls (which usually are way less expensive).