Take a look at my registration form on my site. It does exactly what you want, I even show a map so the user can verify their address. (You can't see them, but it's storing the lat/lng as well as the location on a map.)
You will see it's a simple form using my Safecracker Registration add-on. Same thing works with a regular safecracker form too. This is powered totally by my Google Maps for ExpressionEngine add-on.
Google Maps for EE provides all the tools to speed up exactly what you are trying to do. There is a plugin called addressValidation.js included, which would essentially get you up and running in a few minutes. No need to mess with the Google Maps API directly using Google Maps for EE. I am confident that is the best and easiest solution, although not free. The Google Maps for EE API has by far the most features of any mapping add-on.
Just let me know if you have any questions. Happy to help you get this setup should you choose to go this route.