Получить адрес и название города конечной точки с помощью функции Google Geocoding Flutter

#flutter #dart #geocoding #reverse-geocoding

#flutter #dart #геокодирование #обратное геокодирование

Вопрос:

Я пытаюсь получить адрес и название города точки LatLng с помощью google_geocoding:

 var googleGeocoding =
    GoogleGeocoding("MY_KEY");
var result = await googleGeocoding.geocoding.getReverse(LatLon(lat, lng));
print(result?.results?.first.formattedAddress.toString());
 

Результат печати:

 Corso Italia, 22-24, 20122 Milano MI, Italy
 

Мне нужно получить только Corso Italia строку перед запятой и Milano , как я могу это получить?

Я пытался использовать addressComponents , но я получил только цифры (особенно если я выбираю местоположения в таких странах, как Италия)

 print(result?.results?.first.addressComponents?.first.longName.toString());
 

Комментарии:

1. Вы пробовали использовать addressComponents вместо formattedAddress ?

2. @PeterKoltai спасибо, я обновил вопрос

3. Добавьте точку останова и проверьте, что находится внутри result?.results?.first.addressComponents . Поскольку вы first также добавили, я думаю, что вы распечатываете только первый компонент адреса, и вам нужен какой-то другой, а не первый. Адресные компоненты должны иметь тип или что-то в этом роде, вы можете узнать, что вам нужно, если сможете его проверить.

4. @PeterKoltai не работает, спасибо!

5. Приятно слышать, добро пожаловать.

Ответ №1:

Возможно, это не самый оптимальный вариант, но вы можете поиграть с выбором строки через пробелы, а затем создать строку таким образом, чтобы у вас была нужная последовательность