Clear position watching on map destroy
All checks were successful
ci/woodpecker/push/build Pipeline was successful

This commit is contained in:
Alessio Davoli 2023-12-13 18:41:20 +01:00
parent 616a62d4b5
commit 9e197a2b13

View file

@ -11,6 +11,7 @@
let latitude;
let longitude;
let accuracy;
let watchPositionId: number;
const errorMessage = "Geolocation not available";
const attribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors';
const openStreetMapTile = 'https://tile.openstreetmap.org/{z}/{x}/{y}.png';
@ -48,7 +49,7 @@
console.warn(`ERROR(${err.code}): ${err.message}`);
}
navigator.geolocation.watchPosition(success, error, options);
watchPositionId = navigator.geolocation.watchPosition(success, error, options);
};
const renderMap = () => {
@ -73,12 +74,13 @@
await watchPosition();
leaflet = await import('leaflet');
setTimeout(() => {
renderMap()
}, 500);
});
onDestroy(async () => {
if(watchPositionId) {
navigator.geolocation.clearWatch(watchPositionId);
}
if (map) {
console.log('Unloading Leaflet map.');
map.remove();