Obtengo información sobre la ubicación, pero no puedo usarla en html.error => No capturado (en promesa) TypeError: No se pueden establecer propiedades de indefinido (configurando 'geoLocationPlace'). ¿Por qué la variable (geoLocationPlace) no está definida?
data() { return { inputValue:null, searchedPlace:null, geoLocationPlace:null, } }, getLocation(){ if(navigator.geolocation){ navigator.geolocation.getCurrentPosition(function(position){ let long = position.coords.longitude; let lat = position.coords.latitude; fetch(`https://api.bigdatacloud.net/data/reverse-geocode-client? latitude=${lat}&longitude=${long}&localityLanguage=en`) .then(res => { return res.json() }) .then(resData => { //resData.countryName return country this.geoLocationPlace = resData.countryName console.log(this.geoLocationPlace) }) })
El problema es que this
se "pierde" porque usa una función regular como devolución de llamada a navigator.geolocation.getCurrentPosition
Comprende claramente la necesidad de funciones de flecha, ya que su cadena de fetch
las usa, por lo que solo puedo concluir que simplemente se perdió esta función.
getLocation(){ if(navigator.geolocation){ // fix the next line like so navigator.geolocation.getCurrentPosition((position) => { let long = position.coords.longitude;