This works great, but it doesn't stop at 2500 and wait for a day. Also I can't find any free limit on the billing. Maybe pricing has changed since you wrote the script. https://developers.google.com/maps/documentation/geocoding/usage-and-billing