getCities method
get cities from json response
Implementation
Future<List<String?>> getCities() async {
_cities.clear();
var response = await getResponse();
var takeCity = widget.flagState == CountryFlag.ENABLE ||
widget.flagState == CountryFlag.SHOW_IN_DROP_DOWN_ONLY
? response
.map((map) => Country.fromJson(map))
.where(
(item) => item.emoji + " " + item.name == _selectedCountry)
.map((item) => item.state)
.toList()
: response
.map((map) => Country.fromJson(map))
.where((item) => item.name == _selectedCountry)
.map((item) => item.state)
.toList();
var cities = takeCity as List;
cities.forEach((f) {
var name = f.where((item) => item.name == _selectedState);
var cityName = name.map((item) => item.city).toList();
cityName.forEach((ci) {
if (!mounted) return;
setState(() {
var citiesName = ci.map((item) => item.name).toList();
for (var cityName in citiesName) {
//print(cityName.toString());
_cities.add(cityName.toString());
}
});
});
});
_cities.sort((a, b) => a!.compareTo(b!));
return _cities;
}