How do I use CCK fields with the form API?
I believe in this case you want to create a new content type with the appropriate cck fields to collect the location data. This will be much, much easier than trying to recreate the same experience with the forms api, custom tables and some custom module to integrate CCK fields.