HybridSearch

public final class HybridSearch : Search

Hybrid Search module wraps online and offline search modules that conform to the Search protocol. It orchestrates how the SDK uses the two services to improve the reliability of the Search functionality.

Important

This is a Public Preview API. It may be changed or removed at any time.
  • Creates a hybrid search with geopolitical view set in store.

    Throws

    An error if NDSStore is invalid.

    Important

    This is a Public Preview API. It may be changed or removed at any time.

    Declaration

    Swift

    public convenience init(
        apiKey: String,
        store: NDSStore,
        timeout: Measurement<UnitDuration> = .tt.seconds(5),
        customPOIProviders: [CustomPOIProvider] = [],
        customAPIURL: URL? = nil
    ) throws

    Parameters

    apiKey

    API key for the online search.

    store

    NDSStore offline map handle. Additionally NDSStore defines the overall geopolitical view for both online and offline in HybridSearch. Configure the corresponding geopolitical view in NDSStoreConfiguration and initialize NDSStore with it.

    timeout

    the duration after which primary search results are ignored and the alternative search starts handling the query.

    customPOIProviders

    Custom data providers for injecting external POI data into the search engine.

    customAPIURL

    Custom base URL for online APIs. Defaults to nil and TomTom online API base URL will be used. Can be used to change to another service that implements the same API.

  • This API allows to search places and POIs meeting various criteria.

    Important

    This is a Public Preview API. It may be changed or removed at any time.

    Declaration

    Swift

    @discardableResult
    public func search(
        options: SearchOptions, completion: @escaping (Result<SearchResponse, Error>) -> ()
    )
        -> TomTomSDKCommon.Cancellable

    Parameters

    options

    The SearchOptions structure to limit the results.

    completion

    The completion closure is called after the response to the request is processed. If no errors occurred, SearchResponse contains an array of search results and summary information. If an error occurs, HybridSearchError is returned in the completion closure.

    Return Value

    a Cancellable instance that provides control for request cancellation.

  • The Autocomplete API lets you make more meaningful Search API calls by recognizing entities inside an input query and offering them as query terms.

    Important

    This is a Public Preview API. It may be changed or removed at any time.

    Declaration

    Swift

    @discardableResult
    public func autocomplete(
        options: AutocompleteOptions,
        completion: @escaping (Result<AutocompleteResponse, Error>) -> ()
    )
        -> TomTomSDKCommon.Cancellable

    Parameters

    options

    The AutocompleteOptions structure to limit the results.

    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.

    Return Value

    a Cancellable instance that provides control for request cancellation.

  • This API provides a list of POI categories.

    Important

    This is a Public Preview API. It may be changed or removed at any time.

    Declaration

    Swift

    @discardableResult
    public func requestPOICategories(
        options: POICategoryOptions,
        completion: @escaping (Result<POICategoryResponse, Error>) -> ()
    )
        -> TomTomSDKCommon.Cancellable

    Parameters

    options

    The POICategoryOptions structure to tune 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.

    Return Value

    a Cancellable instance that provides control for request cancellation.

  • This API provides detailed information about a POI based on its identifier (entityId).

    Important

    This is a Public Preview API. It may be changed or removed at any time.

    Declaration

    Swift

    @discardableResult
    public func requestPOIDetails(
        options: POIDetailsOptions,
        completion: @escaping (Result<POIDetailsResponse, Error>) -> ()
    )
        -> TomTomSDKCommon.Cancellable

    Parameters

    options

    Describe what POI Details data to request.

    completion

    The completion closure is called after the response to the request is processed. If no errors occurred, PoiDetailsResponse contains the requested search result with POI info

    Return Value

    a Cancellable instance that provides control for request cancellation.

  • The Geometries Data API returns sets of coordinates that represent the outline of a city, country, or land area. The API supports batch requests of up to 20 identifiers.

    Note

    This API is not supported for onboard search, so the query is handled by online search only. The timeout parameter passed at HybridSearch initialization has no effect.

    Important

    This is a Public Preview API. It may be changed or removed at any time.

    Declaration

    Swift

    @discardableResult
    public func requestGeometryData(
        options: GeometryDataOptions,
        completion: @escaping (Result<GeometryDataResponse, Error>) -> ()
    )
        -> TomTomSDKCommon.Cancellable

    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.

    Return Value

    a Cancellable instance that provides control for request cancellation.

  • 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

    @discardableResult
    public func sendFeedback(
        feedbackEvent: TomTomSDKSearch.FeedbackEvent,
        completion: ((Error?) -> ())? = nil
    )
        -> TomTomSDKCommon.Cancellable

    Parameters

    feedbackEvent

    The feedback event.

    completion

    If an error occurred, completion is called with error.

    Return Value

    a Cancellable instance that provides control for request cancellation.