✨ Added map
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
export const useData = () => {
|
||||
const [canUseGeolocation, setCanUseGeolocation] = useState(false);
|
||||
const [geoError, setGeoError] = useState(null);
|
||||
|
||||
const [initialState, setInitialState] = useState({
|
||||
longitude: 2.209666999999996,
|
||||
latitude: 46.232192999999995,
|
||||
zoom: 5,
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
if ('geolocation' in navigator == false) {
|
||||
setCanUseGeolocation(false);
|
||||
return;
|
||||
}
|
||||
|
||||
setCanUseGeolocation(true);
|
||||
|
||||
navigator.geolocation.getCurrentPosition(
|
||||
position => {
|
||||
setInitialState(prev => ({
|
||||
...prev,
|
||||
latitude: position.coords.latitude,
|
||||
longitude: position.coords.longitude,
|
||||
}));
|
||||
},
|
||||
error => {
|
||||
if (error.PERMISSION_DENIED) {
|
||||
setGeoError('permission_denied');
|
||||
console.warn(error.message);
|
||||
}
|
||||
}
|
||||
);
|
||||
}, []);
|
||||
|
||||
return {
|
||||
initialState,
|
||||
geoError,
|
||||
canUseGeolocation,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user