autocomplete method
Search for place suggestions matching query.
Returns up to maxResults results (default 5).
Optionally bias results towards biasPosition.
Implementation
Future<List<AutocompleteResult>> autocomplete(
String query, {
int maxResults = 5,
LatLng? biasPosition,
String? language,
}) async {
final body = <String, dynamic>{
'QueryText': query,
'MaxResults': maxResults,
};
if (biasPosition != null) {
// AWS expects [longitude, latitude] order.
body['BiasPosition'] = [biasPosition.longitude, biasPosition.latitude];
}
if (language != null) body['Language'] = language;
final response = await _post('/v2/autocomplete', body);
final data = json.decode(response.body) as Map<String, dynamic>;
final items = data['ResultItems'] as List<dynamic>? ?? [];
return items.map((item) {
final map = item as Map<String, dynamic>;
return AutocompleteResult(
placeId: map['PlaceId'] as String? ?? '',
label: map['Title'] as String? ?? '',
placeType: map['PlaceType'] as String? ?? '',
);
}).toList();
}