Seems like this wouldn't be 100% accurate all the time. Seems better to just request the user's address lol. How are you gonna know specifically which house they are at? Wouldn't the location only be an approximation?
Not to mention multi-family dwellings, it can't tell which apartment number, or if you're in an apartment building complex within a street address number range, like 2000-2500 Broadway. I'd say it's only useful as specific as split directional streets like North Broadway vs South Broadway if the customer forgets to put the directional, or gross numerical errors like the customer is at 350 Broadway but they put 3500. Also, you'd have to put in an override for "this is a gift, ship directly to recipient" so the GPS is ignored.
The purpose would be to fill-in most of the address for the user [...] We needed to stick to a strict format because two or more users could write the same address, for different houses in the same street, two or more different ways and it would still lead to the same location. Since we used the data for mapping-out locations on our map, which is also used by our wallet, app, shopping, exchanges and SMS services for authentication, it meant every address must follow a special format [...] Address name, postcode, locality, street, administrative level 1 (up to administrative level 5) country name, ISO code, and longitude & latitude.
As you can see, this is a pritty large amount of data to easily input, edit and get correct, for each user (especially the coordinates) which would obviously cause stressfulness to our users [...] The part which is normally incorrect, as you've pointed out (which is also visible on the script above) is the house number. All the user has to do, after clicking a button, would be to check if the No. Is correct. If it's not, they can simple adjust it (which is also visible if you tried the test) [...]
Since every address or coordinate is processed by Google, it would be as simple as finding an address using their map I.e. it would be able to correct 'typos,' and detect the correct house and No. 99% of the time [...]
The only time our testers had to change their No, was when they used a wireless connection, this meant they simply had to change their house No. to complete the process. This method allowed us to add a 1 or 2 step system (click and check house No.) which would obtain users address components using a strict format that is followed by everyone.
You can read more about geocoding, and reverse geocoding, which our systems use,
here and
here