Позвольте мне сначала привести пример данных, возвращаемых после выбора двух разных городов - Токио и Лондона.
Tokyo:
address_components: Array(9)
0: {long_name: "日本ドクターズビル", short_name: "日本ドクターズビル", types: Array(1)}
1: {long_name: "22", short_name: "22", types: Array(1)}
2: {long_name: "3", short_name: "3", types: Array(3)}
3: {long_name: "4 Chome", short_name: "4 Chome", types: Array(3)}
4: {long_name: "Kudankita", short_name: "Kudankita", types: Array(3)}
5: {long_name: "Chiyoda-ku", short_name: "Chiyoda-ku", types: Array(2)}
6: {long_name: "Tōkyō-to", short_name: "Tōkyō-to", types: Array(2)}
7: {long_name: "Japan", short_name: "JP", types: Array(2)}
8: {long_name: "102-0073", short_name: "102-0073", types: Array(1)}
length: 9
London:
address_components: Array(7)
0: {long_name: "141", short_name: "141", types: Array(1)}
1: {long_name: "Drury Lane", short_name: "Drury Ln", types: Array(1)}
2: {long_name: "London", short_name: "London", types: Array(1)}
3: {long_name: "Greater London", short_name: "Greater London", types: Array(2)}
4: {long_name: "England", short_name: "England", types: Array(2)}
5: {long_name: "United Kingdom", short_name: "GB", types: Array(2)}
6: {long_name: "WC2B 5TA", short_name: "WC2B 5TA", types: Array(1)}
length: 7
Как вы можете ясно видеть, элементы массива меняются в зависимости от местоположения, поэтому, если бы я хотел получить страну Токио, я бы выбрал ее с помощью:
data.address_components[7].long_name
К сожалению, это не будет работать в случае лондонской страны, поскольку в массиве даже нет элемента с индексом 7. Я более или менее просто пытаюсь передать формат "Город, Страна" на мой сервер, но из-за этих различий в массивах я иногда передаю правильную информацию, а иногда - что-то нежелательное.
Я что-то упустил?