For the complete documentation index, see llms.txt. This page is also available as Markdown.

πŸ“Geolocation

If you're planning to use browser Geolocation API, make sure you've enabled the Geolocation feature for iOS (For Android, this feature is enabled by default)

To avoid system conflicts and battery drain, follow these simple rules:

  • Need tracking only when the app is open? Use the Foreground Geolocation feature only.

  • Need tracking even when the app is closed? Use the Background Geolocation feature only. The background service automatically handles foreground tracking; you do not need to run both simultaneously.

Warning: Running both services concurrently will lead to unpredictable behavior and rapid battery depletion. Always stop one before starting the other.

πŸ§‹ Bubble.io Plugin

[Element] Natively - Location

Natively - Location element contains Foreground & Background location services:

πŸ“ Foreground Location Tracking

Events:

  • Location received - User's location longitude & latitude values updated.

  • Location failed - called whenever Location service was not able to get user's location (check Latest location request status for more details)

  • Location Permission Received - called whenever Get location permission return a result

  • v2.13.4 - Location Background Service Status Received - called afrer Get background location service status

States:

  • Latest location longitude - Longitude as number

  • Latest location latitude - Latitude as number

  • Latest location response status - Status of the latest geolocation request call.

    • SUCCESS - Got a location and desired accuracy level was achieved successfully.

    • TIMEOUT - Got a location, but the desired accuracy level was not reached before timeout.

    • FAILED - An error occurred while using the system location services.

  • Location permission

    • IN_USE - foreground allowed

    • ALWAYS - background allowed

    • DENIED - not determined or denied

  • v2.13.4 -BG Location Is Running - yes/no (will be changed on Stop/Start Background Location or Get background location service status)

Actions:

  • Get current location

    • minAccuracy [iOS] - Radius in meters. All other values will be filtered!

    • accuractType [iOS] - Affects on location accuracy and battery life. BestForNavigation,Best,NearestTenMeters,HundredMeters,Kilometer,ThreeKilometers. More details here

    • Priority [Android] - "BALANCED" (To save battery, recommended) & "HIGH"

    • Open Settings - If enabled and user's Location permission is denied, will display a pop-up with the option to open the app settings and turn on permission. - v2.18.0

  • Start foreground location service - start fetching device location

    • minAccuracy [iOS] - Radius in meters. All other values will be filtered!

    • accuractType [iOS] - Affects on location accuracy and battery life. BestForNavigation,Best,NearestTenMeters,HundredMeters,Kilometer,ThreeKilometers. More details here

    • Priority [Android] - "BALANCED" (To save battery, recommended) & "HIGH"

    • Fetching Interval - Determines how often the location will be fetched. Interval in milliseconds. 5000ms -> 5s

    • Open Settings - If enabled and user's Location permission is denied, will display a pop-up with the option to open the app settings and turn on permission. - v2.18.0

  • Stop foreground location service - stop fetching device location

  • Get location permission - request location permission status update

  • v2.13.4 -Get background location service status - check if BG Location Service already running

On page reload, the foreground location tracking service will be automatically stopped. You need to run the Start foreground location service action.

πŸš™ Background location tracking - v2.1.0

Before using background geolocation, make sure you've enabled it in your Natively App Dashboard + Created a new build.

States:

  • Latest location response status - Status of the latest background location service start/stop.

    • SUCCESS - Background location started/stopped successfully

    • FAILED - Background location started/stopped with an error.

Events:

  • Location background failed - Whenever starting of background service will fail

  • Location background success - Whenever starting of background service will succeed

Actions:

  • Start background location service - start fetching device location

    • minAccuracy [iOS] - Radius in meters. All other values will be filtered!

    • accuractType [iOS] - Affects on location accuracy and battery life. BestForNavigation,Best,NearestTenMeters,HundredMeters,Kilometer,ThreeKilometers. More details here

    • Priority [Android] - "BALANCED" (To save battery, recommended) & "HIGH"

    • Fetching Interval - Determines how often the location will be fetched. Interval in milliseconds. 5000ms -> 5s

    • Response Identifier - Identifier that will be sent with a user's location (We're recommending using the user's unique id)

    • Open Settings - If enabled and user's Location permission is denied, will display a pop-up with the option to open the app settings and turn on permission. - v2.18.0

  • Stop background location service - stop fetching device location

Unlike foreground location service, the background will not stop on page reload

Coordinates -> Marker address

To convert longitude and latitude to the bubble's geolocation, you need to use this formula:

πŸ›  JavaScript SDK

NativelyLocation

Last updated