Fixed a bug where if the geolocation request times out, the button won't stop spinning, preventing the user from trying again.  Also set it up so that if the device is offline, the user won't be able to perform operations like changing the base layer, setting the area of interest, adding layers