Skip to main content

GPS Location Tags

What are GPS Location Tags?

GPS Location Tags are location properties stored in image files (via EXIF tags) or video files (via QuickTime/MP4 tags).

VisionCamera provides an API to easily add such location tags to captured photos or videos.

Configure Location Permissions

First, you need to add the required permissions to access the user's location:


Open your project's Info.plist and add the following lines inside the outermost <dict> tag:

<string>$(PRODUCT_NAME) needs access to your location.</string>


Open your project's AndroidManifest.xml and add the following lines inside the <manifest> tag:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Request Location Permissions

After adding the required permissions to your app's manifests, prompt the user to grant location permission at runtime:

Get or request permissions using the useLocationPermission hook:

const { hasPermission, requestPermission } = useLocationPermission()

Enable GPS Location Tags

Use the enableLocation property to start streaming location updates and automatically add GPS Location Tags to images (EXIF tags) and videos:

<Camera {...props} enableLocation={true} />

Once enabled, all captured photos (see "Taking Photos") and videos (see "Recording Videos") will contain location tags.

Enable or disable Location APIs

Location APIs are considered privacy-sensitive APIs by Apple. When you are not using privacy-sensitive APIs (like location) but still include them in your app's code, the Apple review team might reject your app.

To avoid that, you can disable the location APIs and VisionCamera will not compile those privacy-sensitive APIs into your app. Simply set the required flag before building your app:

Inside your Podfile, add the VCEnableLocation flag and set it to false:

$VCEnableLocation = false

Then rebuild your app and any location-related APIs will be excluded from the build.

🚀 Next section: Performance