--- category: Sensors --- # useGeolocation Reactive [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API). It allows the user to provide their location to web applications if they so desire. For privacy reasons, the user is asked for permission to report location information. ## Usage ```ts import { useGeolocation } from '@vueuse/core'; const { coords, locatedAt, error, resume, pause } = useGeolocation(); ``` | State | Type | Description | | --------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------ | | coords | [`Coordinates`](https://developer.mozilla.org/en-US/docs/Web/API/Coordinates) | information about the position retrieved like the latitude and longitude | | locatedAt | `Date` | The time of the last geolocation call | | error | `string` | An error message in case geolocation API fails. | | resume | `function` | Control function to resume updating geolocation | | pause | `function` | Control function to pause updating geolocation | ## Config `useGeolocation` function takes [PositionOptions](https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions) object as an optional parameter. ## Component Usage ```vue ``` ## Type Declarations ```ts export interface UseGeolocationOptions extends Partial, ConfigurableNavigator { immediate?: boolean; } /** * Reactive Geolocation API. * * @see https://vueuse.org/useGeolocation * @param options */ export declare function useGeolocation(options?: UseGeolocationOptions): { isSupported: ComputedRef; coords: Ref< { readonly accuracy: number; readonly altitude: number | null; readonly altitudeAccuracy: number | null; readonly heading: number | null; readonly latitude: number; readonly longitude: number; readonly speed: number | null; }, | Omit | { readonly accuracy: number; readonly altitude: number | null; readonly altitudeAccuracy: number | null; readonly heading: number | null; readonly latitude: number; readonly longitude: number; readonly speed: number | null; } >; locatedAt: ShallowRef; error: ShallowRef; resume: () => void; pause: () => void; }; export type UseGeolocationReturn = ReturnType; ```