using geolocation and map as fallback