GPS can fluctuate when the device moves slowly or stands still.
Switching betweeen GPS and Network Location is not a good idea, (network will introduce jumps of e.g up to 1000m or eveen more)
If you have GPS always use GPS.
If fluctuations are caused by bad GPS signal, you can check the Location.getHoricontalAccuracy()
: ignore the location if the value is > 30m and you are using GPS only.
If fluctuation is caused by slow movement or stand still, make sure this is the case and ask again for that specific topic, or search SO.