Como parte de un proyecto de cartera para un curso de desarrollo web, estoy tratando de tomar las coordenadas de latitud y longitud del dispositivo para una aplicación de mapa basada en leafletJS para usar en llamadas API posteriores, pero tengo un problema de sincronización con la función document.ready de JQuery . En mi archivo script.js tengo:
1 const getCoordsFromDeviceLocation = () => { 2 window.navigator.geolocation.getCurrentPosition((pos) => { 3 ({latitude, longitude} = pos.coords); 4 console.log(latitude); 5 console.log(longitude); 6 return {latitude, longitude}; 7 }) 8 }Y entonces:
9 $(function () { 10 const coords = getCoordsFromDeviceLocation(); 11 console.log(coords); 12 })El registro está regresando, en orden:
11 - indefinido
4 - (coord lat correcto)
5 - (coord largo correcto)
Sé que tiene algo que ver con la sincronicidad con la línea 11 que regresa primero, pero no estoy seguro de cómo tomar las coordenadas dentro de la función doc.ready. ¿Alguien puede señalarme en la dirección correcta?