Notice for App Developers

To use these methods, the geolocation module must be installed in the native app:

Hierarchy

  • Geolocation

Methods

  • Check permissions status for geolocation resource

    Example:

    const geolocationStatus = await Eitri.geolocation.checkPermission({precision: "precise"})
    console.log(geolocationStatus)

    /* Example output from this console.log:
    {
    status: "DENIED",
    details: {
    precision: "precise"
    }
    }
    */

    🚨 Android only: If executed before the first permission request, the default response is BLOCKED.

    Compatibility Control

    Check module availability:

    const modules = await Eitri.modules();
    if (modules?.geolocation) {
    // Module-based implementation available
    }

    Parameters

    Returns Promise<GeolocationPermissionOutput>

  • Request permission for geolocation resource

    Example:

    const geolocationStatus = await Eitri.geolocation.requestPermission({precision: "approximate"})
    console.log(geolocationStatus)

    /* Example output from this console.log:
    {
    status: "GRANTED",
    details: {
    precision: "approximate"
    }
    }
    */

    Compatibility Control

    Check module availability:

    const modules = await Eitri.modules();
    if (modules?.geolocation) {
    // Module-based implementation available
    }

    Parameters

    Returns Promise<GeolocationPermissionOutput>

  • Get the current location of the device

    Example:

    try {
    const geolocationStatus = await Eitri.geolocation.requestPermission({precision: "precise"})

    if (geolocationStatus.status == "GRANTED") {
    const location = await Eitri.geolocation.getCurrentLocation()
    console.log(location)
    /* Example output from this console.log:
    {
    "latitude": -22.9576466,
    "longitude": -43.1760832
    }
    */
    return
    }

    // handle other permission states
    // inform user

    } catch (e) {
    console.log(e)
    // handle errors and notify user
    }

    Compatibility Control

    Check module availability:

    const modules = await Eitri.modules();
    if (modules?.geolocation) {
    // Module-based implementation available
    }

    Returns Promise<GeolocationRequestOutput>

Generated using TypeDoc