navigator.geolocation.watchPosition empty position

521 Views Asked by At

navigator.geolocation.watchPosition success callback is always called with an empty position object. What am I missing? Tried the following setup (location granted, https):

  • Chrome Desktop 95.0.4638.54
  • Chrome Android 94.0.4606.85

function errorCb(error) {
    console.log('errorCb() ' + error.code + ", " + error.message);
}
if (navigator.geolocation) {
    const options = {
        enableHighAccuracy: false,
        timeout: 5000,
        maximumAge: 0
    };
    navigator.geolocation.watchPosition(position => {
        console.log("pos: " + JSON.stringify(position));  // always displays "pos: {}"
    }, errorCb, options);
}

1

There are 1 best solutions below

0
paddel10 On BEST ANSWER

Referring to Andys comment the position object provided can't be stringified. Access the object directly:

var coords = position.coords;
var latitude = coords.latitude;
var longitude = coords.longitude;