Let me start off by saying this method is buggy but does work. You can spoof anywhere but i would start close by your actual location to test first and make sure your not bouncing back to your real location and not to catch a softban. This is a alternative to the flygps that has been removed from google play.
Requirements:
Fake GPS Location Spoofer Free - this is the only one i have found that works with this method and in the playstore.
Developers Options enabled In Settings Menu so you can toggle the Allow mock locations on and off.
Optional Apps to speed the process up of switching between Apps:
Fast Access (Floating Toolbox) to put Fake GPS, Pokemon Go, and shortcut to Developer Options in it.
Developer Options shortcut to Developer Options.
Recommended Settings:
Location Mode Set to High Accuracy
Have Wi-Fi Turned Off
Clear Location History and Have It On
1. Go to Developers Options and check Allow mock locations.
2. Open Fake GPS and set a location on the map (recommend close to your actual location to test first) and click the orange play button.
3. Now go back to developers options and uncheck Allow mock locations.
4. Open Pokemon Go and it should be in the spoofed location.
Now to move around you have to minimize pokemon go.. and check Allow mock locations.. set a new location in Fake GPS... uncheck Allow mock locations...then go back to pokemon go and it should move you to the new location.
Keep the location changes small to avoid teleporting.
If your location was not changed when pokemon go loaded you can minimize it and go back to developers options and check Allow mock locations wait a few seconds then uncheck it and go back to pokemon go and see if it moves to the spoofed location. Also have location history on and you may need to clear location history.
The Bugs
If you use wifi you will want to stay close to your actual location as it will run back to it. But it is easy to get candy and hatch eggs by going and check Allow mock locations and uncheck it and go back to pokemon go then repeat. to keep moving back and forth.
Not being on Wi-Fi and have Location Mode Set to High Accuracy stops the rubber band effect...you will stay in your spoofed location. Only drawback is it will lose gps signal every so often when it does just check allow mock locations and uncheck and go back to pokemon go and it should have signal again. If that dont work you can try to allow mock locations and open the pokemon go then turn mock locations back off and see if that brings signal back.
Thats all the bugs for me atleast.
If your not having any issues of bouncing back to your original location it should be ok to spoof anywhere. I have mine set to Santa Monica Pier now and have no issues. Remember the rules apply when jumping far either take the softban and spin yourself free or wait a few hours before you load pokemon go.
Here is a quick video i made demonstrating it..
Again this is not by any means a fine tuned guide or the greatest method ...but it is working.