Address extraction and formated using Places API (Google Maps API)

I am currently playing around with Places API from Google.
I just have curious about the technique that they were using to make this happens (do only NER enough for this). I thought they firstly detect where is the address in my input, then parsing these into sub-level (like what I am gonna describe as below).

When I input the text: "I wanna deliver this package to #K A B C "

It gave me the result was super tremendous with 3 administrative_area_level, even it did format my input text (also correct their spelling/grammar mistake) to the address one. In detail, it somehow will be like

street_name:{#k}
administrative_area_level_1: {A}
administrative_area_level_2:{B}
...
formated_address: #K, A, B, C