How to switch off the GPS (but not disable location tracking) on an iPhone?
It can't be done.  It really depends on the application that is requesting your location.  App Developers, when requesting the device's location, can choose how accurate of a location they need.  If they decide they need less accuracy, then iOS will only fire up WiFi or use GSM to determine the approximate location.  If the developer decides they need very specific location, then the phone will fire up the GPS.