Search
public protocol Search
Defines common interface to provide search functionality.
-
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
SearchOptions
structure to limit the results.completion
The completion closure is called after the request response is processed. If no errors occurred,
SearchResponse
contains an array of search results and summary information. If cancellation is triggered, the completion returns a cancellation error. Sometimes, the completion may return with other work before acknowledging the cancellation.Return Value
a
Cancellable
instance that provides control for request cancellation. -
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
AutocompleteOptions
structure to make the results more relevant.completion
The completion closure is called after the response to the request is processed. If no errors occurred,
AutocompleteResponse
contains proposed autocomplete elements, that can be used to implement an input field with the autocomplete feature. If cancellation is triggered, the completion returns a cancellation error. Sometimes, the completion may return with other work before acknowledging the cancellation.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
POICategoryOptions
structure to limit the results.completion
The completion closure is called after the response to the request is processed. If no errors occurred,
POICategoryResponse
contains an array of categories and subcategories together with their translations and synonyms. If cancellation is triggered, the completion returns a cancellation error. Sometimes, the completion may return with other work before acknowledging the cancellation.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,
PoiDetailsResponse
contains the requested search result with POI info If cancellation is triggered, the completion returns a cancellation error. Sometimes, the completion may return with other work before acknowledging the cancellation.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,
GeometryDataResponse
contains an array of geometries data structure. If cancellation is triggered, the completion returns a cancellation error. Sometimes, the completion may return with other work before acknowledging the cancellation.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,
completion
is called with error. If cancellation is triggered, the completion returns a cancellation error. Sometimes, the completion may return with other work before acknowledging the cancellation.Return Value
a
Cancellable
instance that provides control for request cancellation. -
evSearch(options:
Default implementationcompletion: ) 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
EVSearchOptions
structure to limit the results.completion
The completion closure is called after the request response is processed. If no errors occurred,
EVSearchResponse
contains an array of search results. If cancellation is triggered, the completion returns a cancellation error.Return Value
a
Cancellable
instance that provides control for request cancellation.