Location errors should handle via callbacks

Instead just calling alert(err.message) handle error and pass it to callback function.