onsa
1/18/2017 - 11:15 AM

HTML5 geolocation API

HTML5 geolocation API

//  get position and pass callbacks
var options = {
  enableHighAccuracy: boolean,  //  slower, more accurate location
  timeout: milliseconds,        //  allowed response time
  maximumAge: milliseconds      //  maximum age of cached position (0 means only fresh value can be returned)
};
var onsuccess = function(position) {
  console.log('Your position is ' + position.coords.longitude + ', ' + position.coords.latitude + ' at ' + new Date(position.timestamp).toUTCString());
};
var onerror = function(error) {
  switch (error.code) {
    case error.TIMEOUT:
      message = "Timeout.";
      break;
    case error.PERMISSION_DENIED:
      message = "Permission denied.";
      break;
    case error.POSITION_UNAVAILABLE:
      message = "Location could not be obtained.";
      break;
    case error.UNKNOWN_ERROR:
      message = "Unknown error.";
      break;
  }
  console.log(message);
};
navigator.geolocation.getCurrentPosition(onsuccess, onerror, options);

//  watch position - repeated execution of callback
var watchID = navigator.geolocation.watchPosition(onsuccess, onerror, options);
//  stop watching position
navigator.geolocation.clearWatch(watchID);