Вероятно, стоит отметить, что Google не следует спецификациям XAL , а реализует их в подмножестве.
Итак, это означает, что вы не обязательно сможете сделать:
place.AddressDetails.Country.AdministrativeArea.Locality.LocalityName
place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName
place.AddressDetails.Country.CountryName
Потому что можно указать страну и район, а административный район - нет.
Возвращаемые данные идентифицируются с помощью индикатора точности, который дает вам относительное представление о том, что вы можете ожидать от данных. Таким образом, вы можете хранить объекты и обрезать части полного адреса, используя эту переменную, и пытаться геокодировать таким образом - хотя это не рекомендуется.
Как правило, полный адрес (без проезда) является хорошим способом определения общего местоположения. Вы можете использовать некоторую логику взвешенных преференций, которую Google предоставляет для уточнения адреса.
например. Используйте setViewPort или setCountryCode, чтобы повысить точность поиска.
Помните, геокодирование не наука . Вы не можете ожидать последовательных результатов.