Я использовал flutter_google_places и google_maps_webservice для автоматического завершения ввода пользователем адреса в строке поиска, но не могу понять, как ввести этот адрес в качестве ввода для текстового поля.
Код для текстового поля:
child: TextField(
controller: caddress,
onTap: () {
_search();
},
decoration: InputDecoration(
hintText: "Enter valid address",
hintStyle: TextStyle(
fontStyle: FontStyle.italic,
fontSize: 12.0,
),
labelText: "Address",
labelStyle: TextStyle(
fontSize: 15.0,
fontWeight: FontWeight.bold,
Код для поиска мест и прогноз отображения:
Future <void> _search() async {
Prediction p = await PlacesAutocomplete.show(context: context,
apiKey: myGoogleApiKey,
mode : Mode.overlay,
language: "en",
components: [
Component(Component.country, "in"),
]
);
displayPrediction(p);
print(p);
}
Future<Null> displayPrediction(Prediction p) async {
if (p != null) {
PlacesDetailsResponse detail =
await _places.getDetailsByPlaceId(p.placeId);
var placeId = p.placeId;
double lat = detail.result.geometry.location.lat;
double lng = detail.result.geometry.location.lng;
var address = await Geocoder.local.findAddressesFromQuery(p.description);
}
}
Снимок экрана для справки:
Я понимаю, что используется адрес и placeId, но не могу понять, как? Буду признателен за помощь