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
func search(options: SearchOptions, completion: @escaping (Result<SearchResponse, Error>) -> ())
Parameters
options
The
SearchOptions
structure to limit the results.completion
The completion closure is called after the response to the request has been processed. If no errors occurred,
SearchResponse
contains an array of search results and summary information. -
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 the query “mat” 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
func autocomplete(options: AutocompleteOptions, completion: @escaping (Result<AutocompleteResponse, Error>) -> ())
Parameters
options
The
AutocompleteOptions
structure to make the results more relevant.completion
The completion closure is called after the response to the request has been processed. If no errors occurred,
AutocompleteResponse
contains proposed autocomplete elements, that can be used to implement an input field with the autocomplete feature. -
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
func requestPOICategories(options: POICategoryOptions, completion: @escaping (Result<POICategoryResponse, Error>) -> ())
Parameters
options
The
POICategoryOptions
structure to limit the results.completion
The completion closure is called after the response to the request has been processed. If no errors occurred,
POICategoryResponse
contains an array of categories and subcategories together with their translations and synonyms. -
Provides detailed information about a POI based on its identifier (entityId).
Declaration
Swift
func requestPOIDetails( options: POIDetailsOptions, completion: @escaping (Result<TomTomSDKSearch.POIDetailsResponse, Error>) -> () )
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 -
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
func requestGeometryData(options: GeometryDataOptions, completion: @escaping (Result<GeometryDataResponse, Error>) -> ())
Parameters
options
Define geometries to request.
completion
Parameter completion: The completion closure is called after the response to the request has been processed. If no errors occurred,
GeometryDataResponse
contains an array of geometries data structures -
Asynchronously sends a feedback event for the search.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
func sendFeedback(feedbackEvent: FeedbackEvent, completion: ((Error?) -> ())?)
Parameters
feedbackEvent
The feedback event.
completion
If an error occurred,
completion
is called with error.