#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:
Возможно, это не самый оптимальный вариант, но вы можете поиграть с выбором строки через пробелы, а затем создать строку таким образом, чтобы у вас была нужная последовательность