javascriptgeolocationgpsw3c-geolocation

navigator.geolocation.watchPosition empty position


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

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);
}


Solution

  • 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;