Skip to content

Deep Links

GPS JoyStick supports the gpsjoystick:// URL protocol for triggering actions from browsers, other apps, or automation tools. Tap a deep link or open it programmatically to launch the app and execute the corresponding action. If the joystick overlay is already running, the action executes immediately. If not, the app starts and sets up the action.

These work with any version of GPS JoyStick.

Teleport to a specific location.

gpsjoystick://teleport?lat={latitude}&lng={longitude}&alt={altitude}
ParameterTypeRequiredDescription
latfloatYesLatitude (-90 to 90)
lngfloatYesLongitude (-180 to 180)
altfloatNoAltitude in meters

Examples:

gpsjoystick://teleport?lat=37.8095&lng=-122.4101
gpsjoystick://teleport?lat=37.8095&lng=-122.4101&alt=10.2

Start a saved route by name.

gpsjoystick://route?name={your-route-name}
ParameterTypeRequiredDescription
nameStringYesName of the saved route (URL-encoded)

Example:

gpsjoystick://route?name=My%20Awesome%20Route

Stop the joystick.

gpsjoystick://stop

No parameters required.


The following deep links require an active Pro subscription.

Walk along a series of waypoints.

gpsjoystick://walk?waypoints={lat,lng;lat,lng;...}&teleport={true|false}&speed={speed-in-km/h}
ParameterTypeRequiredDescription
waypointsStringYesSemicolon-separated lat,lng pairs
teleportbooleanNoTeleport to the first waypoint before walking (default: false)
speedfloatNoWalking speed in km/h

Examples:

gpsjoystick://walk?waypoints=37.8095,-122.4101;37.8060,-122.4090
gpsjoystick://walk?waypoints=37.8095,-122.4101;37.8060,-122.4090&teleport=true

Pause a walking route.

gpsjoystick://route-pause

Resume a paused route.

gpsjoystick://route-resume

Skip to the next waypoint on the active route.

gpsjoystick://route-next

Jump back to the previous waypoint.

gpsjoystick://route-prev

Hide the joystick overlay.

gpsjoystick://hide

Show the joystick overlay.

gpsjoystick://show

Change the movement speed. Value must be greater than 0.

gpsjoystick://speed?speed={speed-in-km/h}
ParameterTypeRequiredDescription
speedfloatYesSpeed in km/h (must be > 0)

Example:

gpsjoystick://speed?speed=25.0

Teleport to a saved favorite location by name.

gpsjoystick://favorites?name={your-favorite-name}
ParameterTypeRequiredDescription
nameStringYesName of the saved favorite (URL-encoded)

Example:

gpsjoystick://favorites?name=Home

Begin recording a route from the current position.

gpsjoystick://record-start

Add the current position as a waypoint to the active recording.

gpsjoystick://record-add

Stop recording and save the route. Requires at least 2 recorded points. Omit the name parameter to cancel without saving.

gpsjoystick://record-stop?name={route-name}
ParameterTypeRequiredDescription
nameStringNoName for the saved route (URL-encoded). Omit to discard.

Example:

gpsjoystick://record-stop?name=My%20Recorded%20Route

Generate a random or circular route from the current position and start walking it.

gpsjoystick://generate?mode={0|1}&marker_count={count}&offset={meters}
ParameterTypeRequiredDescription
modeintNo0 = random (default), 1 = circle
marker_countintNoNumber of waypoints, 1-5000 (default: 10)
offsetfloatNoDistance in meters between points (default: 50.0)

Example:

gpsjoystick://generate?mode=0&marker_count=20&offset=100

Deep links and intents achieve the same results through different mechanisms:

Deep LinksIntents
Protocolgpsjoystick:// URLAndroid Intent action
Trigger fromBrowser, any app, QR codes, NFC tagsTasker, MacroDroid, ADB, other Android apps
RequiresNothing - standard URL handlingIntent-capable launcher (Tasker, ADB, etc.)
Best forQuick triggers, web integration, sharingAutomation workflows, scripted sequences

Every deep link has a matching intent, but not every intent has a deep link - intents are a superset. For example, the STATUS intent is intent-only and has no deep link equivalent. See the intent reference for the full list.