Search
public protocol Search
Defines common interface to provide search functionality.
The Autocomplete Search feature can predict what a user is searching. The prediction is based on what they have already typed into the search field. It can identify entities within a user’s input and suggest them as potential search queries. This feature optimizes the accuracy of the search results by offering relevant suggestions and completing the user’s input.
Use Autocomplete Search to elevate your application by delivering swift, error-free searches, thus enhancing efficiency. This feature also stimulates user exploration, fostering engagement.
Example of an Autocomplete request to query “mar” for Amstardam in 100-km radius:
let options = AutocompleteOptions(
query: "mar",
position: .AMSTERDAM,
radius: Measurement(value: 100, unit: .kilometers)
)
search.autocomplete(options: options) { result in
if case let .success(response) = result {
print("Autocomplete suggestions for query: \(response.summary.query)")
response.results.forEach { result in
result.segments.forEach { segment in
switch segment {
case .brand(let brand):
print("\(brand.brand.name) - brand")
case .poiCategory(let category):
print("\(category.poiCategory.name) - category")
case .plainText(let text):
print("\(text.plainText) - text")
@unknown default:
print("unknown")
}
}
}
}
}
// Prints:
// Autocomplete suggestions for query: mar
// Market - category
// Marqt - brand
// Marina - category
// Marriott - brand
Declaration
Swift
@discardableResult
func autocomplete(
options: AutocompleteOptions,
completion: @escaping (Result<AutocompleteResponse, Error>) -> ()
)
-> Cancellable
Parameters
options
|
The |
completion
|
The completion closure is called after the response to the request is processed.
If no errors occurred, |
Return Value
a Cancellable
instance that provides control for request cancellation.
evSearch(options:completion:)
Default implementation
This method provides the capability to search EV charging stations meeting various criteria.
Example of an evsearch request to query available charging stations for Amstardam in 1-km radius:
let options = EVSearchOptions(geoBias: .AMSTERDAM, radius: .tt.meters(1000), status: .available)
search.evSearch(options: options) { result in
switch result {
case let .failure(error):
print(error)
case let .success(response):
print(response.results)
}
}
Important
This is a Public Preview API. It may be changed or removed at any time.Default Implementation
This method provides the capability to search EV charging stations meeting various criteria.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
@discardableResult
func evSearch(options: EVSearchOptions, completion: @escaping (Result<EVSearchResponse, Error>) -> ())
-> Cancellable
Parameters
options
|
The |
completion
|
The completion closure is called after the request response is processed.
If no errors occurred, |
Return Value
a Cancellable
instance that provides control for request cancellation.
The Geometry Data API returns sets of coordinates that represent the outline of a city, country, or land area. The method supports batch requests of up to 20 identifiers.
Declaration
Swift
@discardableResult
func requestGeometryData(
options: GeometryDataOptions,
completion: @escaping (Result<GeometryDataResponse, Error>) -> ()
)
-> Cancellable
Parameters
options
|
Define geometries to request. |
completion
|
Parameter completion: The completion closure is called after the response to the request is processed.
If no errors occurred, |
Return Value
a Cancellable
instance that provides control for request cancellation.
This method provides a full list of POI categories and subcategories together with their translations and synonyms.
Additional POI category parameters like language can be taken into account using the POICategoryOptions
.
Declaration
Swift
@discardableResult
func requestPOICategories(
options: POICategoryOptions,
completion: @escaping (Result<POICategoryResponse, Error>) -> ()
)
-> Cancellable
Parameters
options
|
The |
completion
|
The completion closure is called after the response to the request is processed.
If no errors occurred, |
Return Value
a Cancellable
instance that provides control for request cancellation.
Provides detailed information about a POI based on its identifier (entityId).
Declaration
Swift
@discardableResult
func requestPOIDetails(
options: POIDetailsOptions,
completion: @escaping (Result<TomTomSDKSearch.POIDetailsResponse, Error>) -> ()
) -> Cancellable
Parameters
options
|
Describes what POI Details data to request. |
completion
|
The completion closure is called after the response to the request has been processed.
If no errors occurred, |
Return Value
a Cancellable
instance that provides control for request cancellation.
This method provides the capability to search places and POIs meeting various criteria.
Declaration
Swift
@discardableResult
func search(options: SearchOptions, completion: @escaping (Result<SearchResponse, Error>) -> ())
-> Cancellable
Parameters
options
|
The |
completion
|
The completion closure is called after the request response is processed.
If no errors occurred, |
Return Value
a Cancellable
instance that provides control for request cancellation.
Asynchronously sends a feedback event for the search.
Declaration
Swift
@discardableResult
func sendFeedback(feedbackEvent: FeedbackEvent, completion: ((Error?) -> ())?) -> Cancellable
Parameters
feedbackEvent
|
The feedback event. |
completion
|
If an error occurred, |
Return Value
a Cancellable
instance that provides control for request cancellation.