source: imaps-frontend/node_modules/react-use/esm/useGeolocation.js

main
Last change on this file was d565449, checked in by stefan toskovski <stefantoska84@…>, 4 weeks ago

Update repo after prototype presentation

  • Property mode set to 100644
File size: 1.5 KB
RevLine 
[d565449]1import { __assign } from "tslib";
2import { useEffect, useState } from 'react';
3var useGeolocation = function (options) {
4 var _a = useState({
5 loading: true,
6 accuracy: null,
7 altitude: null,
8 altitudeAccuracy: null,
9 heading: null,
10 latitude: null,
11 longitude: null,
12 speed: null,
13 timestamp: Date.now(),
14 }), state = _a[0], setState = _a[1];
15 var mounted = true;
16 var watchId;
17 var onEvent = function (event) {
18 if (mounted) {
19 setState({
20 loading: false,
21 accuracy: event.coords.accuracy,
22 altitude: event.coords.altitude,
23 altitudeAccuracy: event.coords.altitudeAccuracy,
24 heading: event.coords.heading,
25 latitude: event.coords.latitude,
26 longitude: event.coords.longitude,
27 speed: event.coords.speed,
28 timestamp: event.timestamp,
29 });
30 }
31 };
32 var onEventError = function (error) {
33 return mounted && setState(function (oldState) { return (__assign(__assign({}, oldState), { loading: false, error: error })); });
34 };
35 useEffect(function () {
36 navigator.geolocation.getCurrentPosition(onEvent, onEventError, options);
37 watchId = navigator.geolocation.watchPosition(onEvent, onEventError, options);
38 return function () {
39 mounted = false;
40 navigator.geolocation.clearWatch(watchId);
41 };
42 }, []);
43 return state;
44};
45export default useGeolocation;
Note: See TracBrowser for help on using the repository browser.