searchText method
SearchText searches for geocode and place information. You
can then complete a follow-up query suggested from the
Suggest API via a query id.
For more information, see Search Text in the Amazon Location Service Developer Guide.
May throw AccessDeniedException.
May throw InternalServerException.
May throw ThrottlingException.
May throw ValidationException.
Parameter additionalFeatures :
A list of optional additional parameters, such as time zone, that can be
requested for each result. For GrabMaps
customers, ap-southeast-1 and ap-southeast-5
regions support only the TimeZone value.
Parameter biasPosition :
The position, in longitude and latitude, that the results should be close
to. Typically, place results returned are ranked higher the closer they
are to this position. Stored in [lng, lat] and in the WGS
84 format.
Parameter filter :
A structure which contains a set of inclusion/exclusion properties that
results must possess in order to be returned as a result.
Parameter intendedUse :
Indicates if the query results will be persisted in customer
infrastructure. Defaults to SingleUse (not stored).
Parameter key :
Optional: The API key to be used for authorization. Either an API key or
valid SigV4 signature must be provided when making a request.
Parameter language :
A list of BCP
47 compliant language codes for the results to be rendered in. If
there is no data for the result in the requested language, data will be
returned in the default language for the entry. For GrabMaps
customers, ap-southeast-1 and ap-southeast-5
regions support only the following codes: en, id, km, lo, ms, my,
pt, th, tl, vi, zh
Parameter maxResults :
An optional limit for the number of results returned in a single call.
Default value: 20
Parameter nextToken :
If nextToken is returned, there are more results available.
The value of nextToken is a unique pagination token for each
page.
Parameter politicalView :
The alpha-2 or alpha-3 character code for the political view of a country.
The political view applies to the results of the request to represent
unresolved territorial claims through the point of view of the specified
country. Not available in ap-southeast-1 and
ap-southeast-5 regions for GrabMaps
customers.
Parameter queryId :
The query Id returned by the suggest API. If passed in the request, the
SearchText API will preform a SearchText query with the improved query
terms for the original query made to the suggest API. Not available in
ap-southeast-1 and ap-southeast-5 regions for GrabMaps
customers.
Parameter queryText :
The free-form text query to match addresses against. This is usually a
partially typed address from an end user in an address box or form.
Implementation
Future<SearchTextResponse> searchText({
List<SearchTextAdditionalFeature>? additionalFeatures,
List<double>? biasPosition,
SearchTextFilter? filter,
SearchTextIntendedUse? intendedUse,
String? key,
String? language,
int? maxResults,
String? nextToken,
String? politicalView,
String? queryId,
String? queryText,
}) async {
final $query = <String, List<String>>{
if (key != null) 'key': [key],
};
final $payload = <String, dynamic>{
if (additionalFeatures != null)
'AdditionalFeatures': additionalFeatures.map((e) => e.value).toList(),
if (biasPosition != null) 'BiasPosition': biasPosition,
if (filter != null) 'Filter': filter,
if (intendedUse != null) 'IntendedUse': intendedUse.value,
if (language != null) 'Language': language,
if (maxResults != null) 'MaxResults': maxResults,
if (nextToken != null) 'NextToken': nextToken,
if (politicalView != null) 'PoliticalView': politicalView,
if (queryId != null) 'QueryId': queryId,
if (queryText != null) 'QueryText': queryText,
};
final response = await _protocol.sendRaw(
payload: $payload,
method: 'POST',
requestUri: '/v2/search-text',
queryParams: $query,
exceptionFnMap: _exceptionFns,
);
final $json = await _s.jsonFromResponse(response);
return SearchTextResponse(
nextToken: $json['NextToken'] as String?,
resultItems: ($json['ResultItems'] as List?)
?.nonNulls
.map((e) => SearchTextResultItem.fromJson(e as Map<String, dynamic>))
.toList(),
pricingBucket: _s.extractHeaderStringValue(
response.headers, 'x-amz-geo-pricing-bucket')!,
);
}