navigator.geolocation.watchLocation is called once. While as mentioned it should called every time location is enabled or disabled.
I am using following options
function success(position) {
console.log(position);
}
function error(err) {
console.warn('ERROR(' + err.code + '): ' + err.message);
}
options = {
maximumAge: 0,
timeout: 3000,
enableHighAccuracy: false
};
navigator.geolocation.watchPosition(success, error, options);