Geolocation: detect changes

I am currently developing an app and I’m trying to find a way to watch (update) the user position if e.g. it changes with a fixed minimum distance (30 meters).

I already tried:

  • getCurrentPosition() but I just get the user position one time
  • watchPosition() but It gets called too frequently (around 15 times per minute even if I don’t move the phone)
  • mauron85/cordova-plugin-background-geolocation that has the option distanceFilter but It also tracks the user position in the background and I don’t need it

Any suggestion?

stop the cordova-plugin-background-geolocation plugin when the app goes into background and resume it when the app is resumed?