In Android Oreo, when location was on, there were 3 choices for how it worked: Device Only, Battery Saving, or High Accuracy. In Pie, it's easy to change to Device Only or High Accuracy by turning "Google Location Accuracy" on or off in Location settings. How can I change to Battery Saving?
Google has removed all of the UI from the OS to change this setting, but it's still changeable in other ways.
If an app has the
WRITE_SECURE_SETTINGS permission, it can do this by calling
Settings.Secure.putInt(contentResolver, Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_BATTERY_SAVING);. The Tiles app in the Google Play Store includes a Location tile that does exactly this.
Alternatively, if you have ADB or root, you can do this with no third-party apps by running
settings put secure location_providers_allowed +network,-gps from an ADB shell or a root shell.