Z doświadczenia wiem, że Google Geocoder zwraca bardzo różne wyniki dla różnych zapytań o to samo miejsce. Zarówno po nazwie, adresie, jak i współrzędnych. Czasami zdarzyło się, że zwracał nazwy pisane wielkimi literami… Więc niestety przypuszczam, że możesz nie znaleźć rozwiązania swojego problemu Poniekąd związane jest to z dokładnością wyniku (czasami jest on interpolowany): https://developers.google.com/maps/documentation/geocoding/?csw=1#Results (pole location_type)
Jakoś to ominąłem, niezbyt elegancki, ale co zrobić. Tak na prawdę interesują mnie city, state i country. Więc robię dwa razy parsowanie. Raz całego adresu, wyciągam to co mnie interesuje: `{city: “Warszawa”, state: “mazowieckie”, country: “Polska”} i potem drugi raz wysyłam tylko te trzy elementy i ładnie zwraca mi już po angielsku.