Most modern ROMs come with support for non-Google geolocation providers. On
these systems UnifiedNlp can be installed as a user app to replace the network
location provider. It acts as a middleware for various plugins aka backends, it
does not provide any location lookup itself. For further information please
refer to the https://f-droid.org/packages/com.google.android.gms package and the
README.
To be able to use this package, you will either need the
XposedUnifiedNlp
module, or your custom ROM must have org.microg.nlp added to the list of
network location services, otherwise https://f-droid.org/packages/com.google.android.gms would be more
suitable for you (provided that you do not have GAPPS installed on your system).
After installing you have to reboot your device, install a backend service and
activate/configure it in the app settings. After this you can use UnifiedNlp by
activating network-based geolocation from Settings -> Location: You need to
select any mode but "device only".