This gives you the device position through expo-location: src/lib/location.ts implements the shim, so location.getCurrentPosition() asks for foreground permission when it is still undetermined, returns a recent cached fix when there is one (up to 10 minutes old) and otherwise waits for a balanced-accuracy fix. location.reverseGeocode(coords) names the place ("Almaty") on iOS and Android. Every call resolves - null on denial, no fix or web geocoding - so screens never need a try. The weather demo's "My location" card uses it.
When to pick Expo Location
Pick Expo Location when a screen is better with the user's position: local weather, a nearby list, a pre-filled address. It works in Expo Go, asks for foreground ("while using the app") permission only, and ships a purpose string you rewrite for your app.
At a glance
- Runs in Expo Go
- Yes
- Files added
- 2
- npm packages
- 1
- Keys to paste
- None
- Included in
- Starter and Pro
- Tests included
- 1
Set it up
bun run setup --location expo-locationSetup copies the module in, installs SDK-matched versions and removes the options you did not pick. Then bun run doctor lists every key still missing, with a link to where you get it. The step-by-step guide is in the Expo Location docs.
Questions
Can I use Expo Location in Expo Go?
Yes. This module runs in Expo Go, so you can try it before you make a development build.
What do I need to set up Expo Location in an Expo app?
Only bun run setup --location expo-location. There are no API keys to paste; bun run doctor checks the result.
Does the ReadyNative free tier include Expo Location?
No. It ships in Starter and Pro (one payment, lifetime updates); the free tier ships with location switched off.
Can I build the app without Expo Location?
Yes. Pick none for location (bun run setup --location none) - no permission prompt, no expo-location.
Which Expo Location version does it install?
For Expo SDK 57: expo-location ~57.0.20. Setup installs Expo packages with expo install, so they match the SDK.
Get it
Expo Location ships in Starter and Pro: one payment, lifetime updates. See pricing or browse every module.