### Search by text
The `Amplify.Geo.searchByText()` API enables you to search for places or points of interest by free-form text, such as an address, name, city, or region.
```java
String searchQuery = "Amazon Go";
Amplify.Geo.searchByText(searchQuery,
result -> {
for (final Place place : result.getPlaces()) {
Log.i("MyAmplifyApp", place.toString());
}
},
error -> Log.e("MyAmplifyApp", "Failed to search for " + searchQuery, error)
);
```
```kotlin
val searchQuery = "Amazon Go"
Amplify.Geo.searchByText(searchQuery,
{
for (place in it.places) {
Log.i("MyAmplifyApp", place.toString())
}
},
{ Log.e("MyAmplifyApp", "Failed to search for $searchQuery", it) }
)
```
```kotlin
val searchQuery = "Amazon Go"
try {
val result = Amplify.Geo.searchByText(searchQuery)
for (place in result.places) {
Log.i("MyAmplifyApp", place.toString())
}
} catch (error: GeoException) {
Log.e("MyAmplifyApp", "Failed to search for $searchQuery", it)
}
```
```java
String searchQuery = "Amazon Go";
RxAmplify.Geo.searchByText(searchQuery).subscribe(
result -> {
for (final Place place : result.getPlaces()) {
Log.i("MyAmplifyApp", place.toString());
}
},
error -> Log.e("MyAmplifyApp", "Failed to search for " + searchQuery, error)
);
```
Restrict your search results by specifying following parameters inside `GeoSearchByTextOptions`:
- `countries` - to limit the search results to given countries. Follows [ISO Alpha-3 country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). (defaults to "USA")
- `maxResults` - to limit the maximum result set (defaults to 50)
- `searchArea`
- `near` - to act as the search origination location
- `within` - to limit the area to search inside of
```java
Coordinates position = new Coordinates(47.6153, -122.3384);
GeoSearchByTextOptions options = GeoSearchByTextOptions.builder()
.maxResults(10)
.searchArea(SearchArea.near(position))
.countries(Collections.singletonList(CountryCode.USA))
.build();
```
```kotlin
val position = Coordinates(47.6153, -122.3384)
val options = GeoSearchByTextOptions.builder()
.maxResults(10)
.searchArea(SearchArea.near(position))
.countries(listOf(CountryCode.USA))
.build()
```
```kotlin
val position = Coordinates(47.6153, -122.3384)
val options = GeoSearchByTextOptions.builder()
.maxResults(10)
.searchArea(SearchArea.near(position))
.countries(listOf(CountryCode.USA))
.build()
```
```java
Coordinates position = new Coordinates(47.6153, -122.3384);
GeoSearchByTextOptions options = GeoSearchByTextOptions.builder()
.maxResults(10)
.searchArea(SearchArea.near(position))
.countries(Collections.singletonList(CountryCode.USA))
.build();
```