Webform: states dropdown vs textbox plain text in case of other country autoswitch?
addressfield module does that perfectly. 

What I don't like about it is that it will also show "address 1&amp;2" fields. You can hide those with css.
When you output the field it will show the complete address. You can also hide the parts you don't need with css.