Cache geolocation results. Show better error messages.