geolocation: handle errors

Handle geolocation errors (eg. user denied geolocation), the button should be hidden or deactivated.